openid

package
v5.3.1 Latest Latest
Warning

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

Go to latest
Published: Mar 11, 2024 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 AudienceProtocolMapper

type AudienceProtocolMapper struct {
	pulumi.CustomResourceState

	// Indicates if this claim should be added to the access token.
	AddToAccessToken pulumi.BoolPtrOutput `pulumi:"addToAccessToken"`
	// Indicates if this claim should be added to the id token.
	AddToIdToken pulumi.BoolPtrOutput `pulumi:"addToIdToken"`
	// The mapper's associated client. Cannot be used at the same time as client_scope_id.
	ClientId pulumi.StringPtrOutput `pulumi:"clientId"`
	// The mapper's associated client scope. Cannot be used at the same time as client_id.
	ClientScopeId pulumi.StringPtrOutput `pulumi:"clientScopeId"`
	// A client ID to include within the token's `aud` claim. Cannot be used with included_custom_audience
	IncludedClientAudience pulumi.StringPtrOutput `pulumi:"includedClientAudience"`
	// A custom audience to include within the token's `aud` claim. Cannot be used with included_custom_audience
	IncludedCustomAudience pulumi.StringPtrOutput `pulumi:"includedCustomAudience"`
	// A human-friendly name that will appear in the Keycloak console.
	Name pulumi.StringOutput `pulumi:"name"`
	// The realm id where the associated client or client scope exists.
	RealmId pulumi.StringOutput `pulumi:"realmId"`
}

## # openid.AudienceProtocolMapper

Allows for creating and managing audience protocol mappers within Keycloak. This mapper was added in Keycloak v4.6.0.Final.

Audience protocol mappers allow you add audiences to the `aud` claim within issued tokens. The audience can be a custom string, or it can be mapped to the ID of a pre-existing client.

### Example Usage (Client)

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak"
"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak/openid"
"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{
			Enabled: pulumi.Bool(true),
			Realm:   pulumi.String("my-realm"),
		})
		if err != nil {
			return err
		}
		openidClient, err := openid.NewClient(ctx, "openidClient", &openid.ClientArgs{
			AccessType: pulumi.String("CONFIDENTIAL"),
			ClientId:   pulumi.String("test-client"),
			Enabled:    pulumi.Bool(true),
			RealmId:    realm.ID(),
			ValidRedirectUris: pulumi.StringArray{
				pulumi.String("http://localhost:8080/openid-callback"),
			},
		})
		if err != nil {
			return err
		}
		_, err = openid.NewAudienceProtocolMapper(ctx, "audienceMapper", &openid.AudienceProtocolMapperArgs{
			ClientId:               openidClient.ID(),
			IncludedCustomAudience: pulumi.String("foo"),
			RealmId:                realm.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

### Example Usage (Client Scope)

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak"
"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak/openid"
"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{
			Enabled: pulumi.Bool(true),
			Realm:   pulumi.String("my-realm"),
		})
		if err != nil {
			return err
		}
		clientScope, err := openid.NewClientScope(ctx, "clientScope", &openid.ClientScopeArgs{
			RealmId: realm.ID(),
		})
		if err != nil {
			return err
		}
		_, err = openid.NewAudienceProtocolMapper(ctx, "audienceMapper", &openid.AudienceProtocolMapperArgs{
			ClientScopeId:          clientScope.ID(),
			IncludedCustomAudience: pulumi.String("foo"),
			RealmId:                realm.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

### Argument Reference

The following arguments are supported:

- `realmId` - (Required) The realm this protocol mapper exists within. - `clientId` - (Required if `clientScopeId` is not specified) The client this protocol mapper is attached to. - `clientScopeId` - (Required if `clientId` is not specified) The client scope this protocol mapper is attached to. - `name` - (Required) The display name of this protocol mapper in the GUI. - `includedClientAudience` - (Required if `includedCustomAudience` is not specified) A client ID to include within the token's `aud` claim. - `includedCustomAudience` - (Required if `includedClientAudience` is not specified) A custom audience to include within the token's `aud` claim. - `addToIdToken` - (Optional) Indicates if the audience should be included in the `aud` claim for the id token. Defaults to `true`. - `addToAccessToken` - (Optional) Indicates if the audience should be included in the `aud` claim for the id token. Defaults to `true`.

### Import

Protocol mappers can be imported using one of the following formats: - Client: `{{realm_id}}/client/{{client_keycloak_id}}/{{protocol_mapper_id}}` - Client Scope: `{{realm_id}}/client-scope/{{client_scope_keycloak_id}}/{{protocol_mapper_id}}`

Example:

func GetAudienceProtocolMapper

func GetAudienceProtocolMapper(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *AudienceProtocolMapperState, opts ...pulumi.ResourceOption) (*AudienceProtocolMapper, error)

GetAudienceProtocolMapper gets an existing AudienceProtocolMapper 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 NewAudienceProtocolMapper

func NewAudienceProtocolMapper(ctx *pulumi.Context,
	name string, args *AudienceProtocolMapperArgs, opts ...pulumi.ResourceOption) (*AudienceProtocolMapper, error)

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

func (*AudienceProtocolMapper) ElementType

func (*AudienceProtocolMapper) ElementType() reflect.Type

func (*AudienceProtocolMapper) ToAudienceProtocolMapperOutput

func (i *AudienceProtocolMapper) ToAudienceProtocolMapperOutput() AudienceProtocolMapperOutput

func (*AudienceProtocolMapper) ToAudienceProtocolMapperOutputWithContext

func (i *AudienceProtocolMapper) ToAudienceProtocolMapperOutputWithContext(ctx context.Context) AudienceProtocolMapperOutput

type AudienceProtocolMapperArgs

type AudienceProtocolMapperArgs struct {
	// Indicates if this claim should be added to the access token.
	AddToAccessToken pulumi.BoolPtrInput
	// Indicates if this claim should be added to the id token.
	AddToIdToken pulumi.BoolPtrInput
	// The mapper's associated client. Cannot be used at the same time as client_scope_id.
	ClientId pulumi.StringPtrInput
	// The mapper's associated client scope. Cannot be used at the same time as client_id.
	ClientScopeId pulumi.StringPtrInput
	// A client ID to include within the token's `aud` claim. Cannot be used with included_custom_audience
	IncludedClientAudience pulumi.StringPtrInput
	// A custom audience to include within the token's `aud` claim. Cannot be used with included_custom_audience
	IncludedCustomAudience pulumi.StringPtrInput
	// A human-friendly name that will appear in the Keycloak console.
	Name pulumi.StringPtrInput
	// The realm id where the associated client or client scope exists.
	RealmId pulumi.StringInput
}

The set of arguments for constructing a AudienceProtocolMapper resource.

func (AudienceProtocolMapperArgs) ElementType

func (AudienceProtocolMapperArgs) ElementType() reflect.Type

type AudienceProtocolMapperArray

type AudienceProtocolMapperArray []AudienceProtocolMapperInput

func (AudienceProtocolMapperArray) ElementType

func (AudienceProtocolMapperArray) ToAudienceProtocolMapperArrayOutput

func (i AudienceProtocolMapperArray) ToAudienceProtocolMapperArrayOutput() AudienceProtocolMapperArrayOutput

func (AudienceProtocolMapperArray) ToAudienceProtocolMapperArrayOutputWithContext

func (i AudienceProtocolMapperArray) ToAudienceProtocolMapperArrayOutputWithContext(ctx context.Context) AudienceProtocolMapperArrayOutput

type AudienceProtocolMapperArrayInput

type AudienceProtocolMapperArrayInput interface {
	pulumi.Input

	ToAudienceProtocolMapperArrayOutput() AudienceProtocolMapperArrayOutput
	ToAudienceProtocolMapperArrayOutputWithContext(context.Context) AudienceProtocolMapperArrayOutput
}

AudienceProtocolMapperArrayInput is an input type that accepts AudienceProtocolMapperArray and AudienceProtocolMapperArrayOutput values. You can construct a concrete instance of `AudienceProtocolMapperArrayInput` via:

AudienceProtocolMapperArray{ AudienceProtocolMapperArgs{...} }

type AudienceProtocolMapperArrayOutput

type AudienceProtocolMapperArrayOutput struct{ *pulumi.OutputState }

func (AudienceProtocolMapperArrayOutput) ElementType

func (AudienceProtocolMapperArrayOutput) Index

func (AudienceProtocolMapperArrayOutput) ToAudienceProtocolMapperArrayOutput

func (o AudienceProtocolMapperArrayOutput) ToAudienceProtocolMapperArrayOutput() AudienceProtocolMapperArrayOutput

func (AudienceProtocolMapperArrayOutput) ToAudienceProtocolMapperArrayOutputWithContext

func (o AudienceProtocolMapperArrayOutput) ToAudienceProtocolMapperArrayOutputWithContext(ctx context.Context) AudienceProtocolMapperArrayOutput

type AudienceProtocolMapperInput

type AudienceProtocolMapperInput interface {
	pulumi.Input

	ToAudienceProtocolMapperOutput() AudienceProtocolMapperOutput
	ToAudienceProtocolMapperOutputWithContext(ctx context.Context) AudienceProtocolMapperOutput
}

type AudienceProtocolMapperMap

type AudienceProtocolMapperMap map[string]AudienceProtocolMapperInput

func (AudienceProtocolMapperMap) ElementType

func (AudienceProtocolMapperMap) ElementType() reflect.Type

func (AudienceProtocolMapperMap) ToAudienceProtocolMapperMapOutput

func (i AudienceProtocolMapperMap) ToAudienceProtocolMapperMapOutput() AudienceProtocolMapperMapOutput

func (AudienceProtocolMapperMap) ToAudienceProtocolMapperMapOutputWithContext

func (i AudienceProtocolMapperMap) ToAudienceProtocolMapperMapOutputWithContext(ctx context.Context) AudienceProtocolMapperMapOutput

type AudienceProtocolMapperMapInput

type AudienceProtocolMapperMapInput interface {
	pulumi.Input

	ToAudienceProtocolMapperMapOutput() AudienceProtocolMapperMapOutput
	ToAudienceProtocolMapperMapOutputWithContext(context.Context) AudienceProtocolMapperMapOutput
}

AudienceProtocolMapperMapInput is an input type that accepts AudienceProtocolMapperMap and AudienceProtocolMapperMapOutput values. You can construct a concrete instance of `AudienceProtocolMapperMapInput` via:

AudienceProtocolMapperMap{ "key": AudienceProtocolMapperArgs{...} }

type AudienceProtocolMapperMapOutput

type AudienceProtocolMapperMapOutput struct{ *pulumi.OutputState }

func (AudienceProtocolMapperMapOutput) ElementType

func (AudienceProtocolMapperMapOutput) MapIndex

func (AudienceProtocolMapperMapOutput) ToAudienceProtocolMapperMapOutput

func (o AudienceProtocolMapperMapOutput) ToAudienceProtocolMapperMapOutput() AudienceProtocolMapperMapOutput

func (AudienceProtocolMapperMapOutput) ToAudienceProtocolMapperMapOutputWithContext

func (o AudienceProtocolMapperMapOutput) ToAudienceProtocolMapperMapOutputWithContext(ctx context.Context) AudienceProtocolMapperMapOutput

type AudienceProtocolMapperOutput

type AudienceProtocolMapperOutput struct{ *pulumi.OutputState }

func (AudienceProtocolMapperOutput) AddToAccessToken

func (o AudienceProtocolMapperOutput) AddToAccessToken() pulumi.BoolPtrOutput

Indicates if this claim should be added to the access token.

func (AudienceProtocolMapperOutput) AddToIdToken

Indicates if this claim should be added to the id token.

func (AudienceProtocolMapperOutput) ClientId

The mapper's associated client. Cannot be used at the same time as client_scope_id.

func (AudienceProtocolMapperOutput) ClientScopeId

The mapper's associated client scope. Cannot be used at the same time as client_id.

func (AudienceProtocolMapperOutput) ElementType

func (AudienceProtocolMapperOutput) IncludedClientAudience

func (o AudienceProtocolMapperOutput) IncludedClientAudience() pulumi.StringPtrOutput

A client ID to include within the token's `aud` claim. Cannot be used with included_custom_audience

func (AudienceProtocolMapperOutput) IncludedCustomAudience

func (o AudienceProtocolMapperOutput) IncludedCustomAudience() pulumi.StringPtrOutput

A custom audience to include within the token's `aud` claim. Cannot be used with included_custom_audience

func (AudienceProtocolMapperOutput) Name

A human-friendly name that will appear in the Keycloak console.

func (AudienceProtocolMapperOutput) RealmId

The realm id where the associated client or client scope exists.

func (AudienceProtocolMapperOutput) ToAudienceProtocolMapperOutput

func (o AudienceProtocolMapperOutput) ToAudienceProtocolMapperOutput() AudienceProtocolMapperOutput

func (AudienceProtocolMapperOutput) ToAudienceProtocolMapperOutputWithContext

func (o AudienceProtocolMapperOutput) ToAudienceProtocolMapperOutputWithContext(ctx context.Context) AudienceProtocolMapperOutput

type AudienceProtocolMapperState

type AudienceProtocolMapperState struct {
	// Indicates if this claim should be added to the access token.
	AddToAccessToken pulumi.BoolPtrInput
	// Indicates if this claim should be added to the id token.
	AddToIdToken pulumi.BoolPtrInput
	// The mapper's associated client. Cannot be used at the same time as client_scope_id.
	ClientId pulumi.StringPtrInput
	// The mapper's associated client scope. Cannot be used at the same time as client_id.
	ClientScopeId pulumi.StringPtrInput
	// A client ID to include within the token's `aud` claim. Cannot be used with included_custom_audience
	IncludedClientAudience pulumi.StringPtrInput
	// A custom audience to include within the token's `aud` claim. Cannot be used with included_custom_audience
	IncludedCustomAudience pulumi.StringPtrInput
	// A human-friendly name that will appear in the Keycloak console.
	Name pulumi.StringPtrInput
	// The realm id where the associated client or client scope exists.
	RealmId pulumi.StringPtrInput
}

func (AudienceProtocolMapperState) ElementType

type AudienceResolveProtocolMapper added in v5.3.0

type AudienceResolveProtocolMapper struct {
	pulumi.CustomResourceState

	// The client this protocol mapper should be attached to. Conflicts with `clientScopeId`. One of `clientId` or `clientScopeId` must be specified.
	ClientId pulumi.StringPtrOutput `pulumi:"clientId"`
	// The client scope this protocol mapper should be attached to. Conflicts with `clientId`. One of `clientId` or `clientScopeId` must be specified.
	ClientScopeId pulumi.StringPtrOutput `pulumi:"clientScopeId"`
	// The display name of this protocol mapper in the GUI. Defaults to "audience resolve".
	Name pulumi.StringOutput `pulumi:"name"`
	// The realm this protocol mapper exists within.
	RealmId pulumi.StringOutput `pulumi:"realmId"`
}

Allows for creating the "Audience Resolve" OIDC protocol mapper within Keycloak.

This protocol mapper is useful to avoid manual management of audiences, instead relying on the presence of client roles to imply which audiences are appropriate for the token. See the [Keycloak docs](https://www.keycloak.org/docs/latest/server_admin/#_audience_resolve) for more details.

## Example Usage

### Client)

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak"
"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak/openid"
"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
		}
		openidClient, err := openid.NewClient(ctx, "openidClient", &openid.ClientArgs{
			RealmId:    realm.ID(),
			ClientId:   pulumi.String("client"),
			Enabled:    pulumi.Bool(true),
			AccessType: pulumi.String("CONFIDENTIAL"),
			ValidRedirectUris: pulumi.StringArray{
				pulumi.String("http://localhost:8080/openid-callback"),
			},
		})
		if err != nil {
			return err
		}
		_, err = openid.NewAudienceResolveProtocolMapper(ctx, "audienceMapper", &openid.AudienceResolveProtocolMapperArgs{
			RealmId:  realm.ID(),
			ClientId: openidClient.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

### Client Scope)

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak"
"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak/openid"
"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
		}
		clientScope, err := openid.NewClientScope(ctx, "clientScope", &openid.ClientScopeArgs{
			RealmId: realm.ID(),
		})
		if err != nil {
			return err
		}
		_, err = openid.NewAudienceProtocolMapper(ctx, "audienceMapper", &openid.AudienceProtocolMapperArgs{
			RealmId:       realm.ID(),
			ClientScopeId: clientScope.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

Protocol mappers can be imported using one of the following formats:

- Client: `{{realm_id}}/client/{{client_keycloak_id}}/{{protocol_mapper_id}}`

- Client Scope: `{{realm_id}}/client-scope/{{client_scope_keycloak_id}}/{{protocol_mapper_id}}`

Example:

bash

```sh $ pulumi import keycloak:openid/audienceResolveProtocolMapper:AudienceResolveProtocolMapper audience_mapper my-realm/client/a7202154-8793-4656-b655-1dd18c181e14/71602afa-f7d1-4788-8c49-ef8fd00af0f4 ```

```sh $ pulumi import keycloak:openid/audienceResolveProtocolMapper:AudienceResolveProtocolMapper audience_mapper my-realm/client-scope/b799ea7e-73ee-4a73-990a-1eafebe8e20a/71602afa-f7d1-4788-8c49-ef8fd00af0f4 ```

func GetAudienceResolveProtocolMapper added in v5.3.0

func GetAudienceResolveProtocolMapper(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *AudienceResolveProtocolMapperState, opts ...pulumi.ResourceOption) (*AudienceResolveProtocolMapper, error)

GetAudienceResolveProtocolMapper gets an existing AudienceResolveProtocolMapper 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 NewAudienceResolveProtocolMapper added in v5.3.0

func NewAudienceResolveProtocolMapper(ctx *pulumi.Context,
	name string, args *AudienceResolveProtocolMapperArgs, opts ...pulumi.ResourceOption) (*AudienceResolveProtocolMapper, error)

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

func (*AudienceResolveProtocolMapper) ElementType added in v5.3.0

func (*AudienceResolveProtocolMapper) ToAudienceResolveProtocolMapperOutput added in v5.3.0

func (i *AudienceResolveProtocolMapper) ToAudienceResolveProtocolMapperOutput() AudienceResolveProtocolMapperOutput

func (*AudienceResolveProtocolMapper) ToAudienceResolveProtocolMapperOutputWithContext added in v5.3.0

func (i *AudienceResolveProtocolMapper) ToAudienceResolveProtocolMapperOutputWithContext(ctx context.Context) AudienceResolveProtocolMapperOutput

type AudienceResolveProtocolMapperArgs added in v5.3.0

type AudienceResolveProtocolMapperArgs struct {
	// The client this protocol mapper should be attached to. Conflicts with `clientScopeId`. One of `clientId` or `clientScopeId` must be specified.
	ClientId pulumi.StringPtrInput
	// The client scope this protocol mapper should be attached to. Conflicts with `clientId`. One of `clientId` or `clientScopeId` must be specified.
	ClientScopeId pulumi.StringPtrInput
	// The display name of this protocol mapper in the GUI. Defaults to "audience resolve".
	Name pulumi.StringPtrInput
	// The realm this protocol mapper exists within.
	RealmId pulumi.StringInput
}

The set of arguments for constructing a AudienceResolveProtocolMapper resource.

func (AudienceResolveProtocolMapperArgs) ElementType added in v5.3.0

type AudienceResolveProtocolMapperArray added in v5.3.0

type AudienceResolveProtocolMapperArray []AudienceResolveProtocolMapperInput

func (AudienceResolveProtocolMapperArray) ElementType added in v5.3.0

func (AudienceResolveProtocolMapperArray) ToAudienceResolveProtocolMapperArrayOutput added in v5.3.0

func (i AudienceResolveProtocolMapperArray) ToAudienceResolveProtocolMapperArrayOutput() AudienceResolveProtocolMapperArrayOutput

func (AudienceResolveProtocolMapperArray) ToAudienceResolveProtocolMapperArrayOutputWithContext added in v5.3.0

func (i AudienceResolveProtocolMapperArray) ToAudienceResolveProtocolMapperArrayOutputWithContext(ctx context.Context) AudienceResolveProtocolMapperArrayOutput

type AudienceResolveProtocolMapperArrayInput added in v5.3.0

type AudienceResolveProtocolMapperArrayInput interface {
	pulumi.Input

	ToAudienceResolveProtocolMapperArrayOutput() AudienceResolveProtocolMapperArrayOutput
	ToAudienceResolveProtocolMapperArrayOutputWithContext(context.Context) AudienceResolveProtocolMapperArrayOutput
}

AudienceResolveProtocolMapperArrayInput is an input type that accepts AudienceResolveProtocolMapperArray and AudienceResolveProtocolMapperArrayOutput values. You can construct a concrete instance of `AudienceResolveProtocolMapperArrayInput` via:

AudienceResolveProtocolMapperArray{ AudienceResolveProtocolMapperArgs{...} }

type AudienceResolveProtocolMapperArrayOutput added in v5.3.0

type AudienceResolveProtocolMapperArrayOutput struct{ *pulumi.OutputState }

func (AudienceResolveProtocolMapperArrayOutput) ElementType added in v5.3.0

func (AudienceResolveProtocolMapperArrayOutput) Index added in v5.3.0

func (AudienceResolveProtocolMapperArrayOutput) ToAudienceResolveProtocolMapperArrayOutput added in v5.3.0

func (o AudienceResolveProtocolMapperArrayOutput) ToAudienceResolveProtocolMapperArrayOutput() AudienceResolveProtocolMapperArrayOutput

func (AudienceResolveProtocolMapperArrayOutput) ToAudienceResolveProtocolMapperArrayOutputWithContext added in v5.3.0

func (o AudienceResolveProtocolMapperArrayOutput) ToAudienceResolveProtocolMapperArrayOutputWithContext(ctx context.Context) AudienceResolveProtocolMapperArrayOutput

type AudienceResolveProtocolMapperInput added in v5.3.0

type AudienceResolveProtocolMapperInput interface {
	pulumi.Input

	ToAudienceResolveProtocolMapperOutput() AudienceResolveProtocolMapperOutput
	ToAudienceResolveProtocolMapperOutputWithContext(ctx context.Context) AudienceResolveProtocolMapperOutput
}

type AudienceResolveProtocolMapperMap added in v5.3.0

type AudienceResolveProtocolMapperMap map[string]AudienceResolveProtocolMapperInput

func (AudienceResolveProtocolMapperMap) ElementType added in v5.3.0

func (AudienceResolveProtocolMapperMap) ToAudienceResolveProtocolMapperMapOutput added in v5.3.0

func (i AudienceResolveProtocolMapperMap) ToAudienceResolveProtocolMapperMapOutput() AudienceResolveProtocolMapperMapOutput

func (AudienceResolveProtocolMapperMap) ToAudienceResolveProtocolMapperMapOutputWithContext added in v5.3.0

func (i AudienceResolveProtocolMapperMap) ToAudienceResolveProtocolMapperMapOutputWithContext(ctx context.Context) AudienceResolveProtocolMapperMapOutput

type AudienceResolveProtocolMapperMapInput added in v5.3.0

type AudienceResolveProtocolMapperMapInput interface {
	pulumi.Input

	ToAudienceResolveProtocolMapperMapOutput() AudienceResolveProtocolMapperMapOutput
	ToAudienceResolveProtocolMapperMapOutputWithContext(context.Context) AudienceResolveProtocolMapperMapOutput
}

AudienceResolveProtocolMapperMapInput is an input type that accepts AudienceResolveProtocolMapperMap and AudienceResolveProtocolMapperMapOutput values. You can construct a concrete instance of `AudienceResolveProtocolMapperMapInput` via:

AudienceResolveProtocolMapperMap{ "key": AudienceResolveProtocolMapperArgs{...} }

type AudienceResolveProtocolMapperMapOutput added in v5.3.0

type AudienceResolveProtocolMapperMapOutput struct{ *pulumi.OutputState }

func (AudienceResolveProtocolMapperMapOutput) ElementType added in v5.3.0

func (AudienceResolveProtocolMapperMapOutput) MapIndex added in v5.3.0

func (AudienceResolveProtocolMapperMapOutput) ToAudienceResolveProtocolMapperMapOutput added in v5.3.0

func (o AudienceResolveProtocolMapperMapOutput) ToAudienceResolveProtocolMapperMapOutput() AudienceResolveProtocolMapperMapOutput

func (AudienceResolveProtocolMapperMapOutput) ToAudienceResolveProtocolMapperMapOutputWithContext added in v5.3.0

func (o AudienceResolveProtocolMapperMapOutput) ToAudienceResolveProtocolMapperMapOutputWithContext(ctx context.Context) AudienceResolveProtocolMapperMapOutput

type AudienceResolveProtocolMapperOutput added in v5.3.0

type AudienceResolveProtocolMapperOutput struct{ *pulumi.OutputState }

func (AudienceResolveProtocolMapperOutput) ClientId added in v5.3.0

The client this protocol mapper should be attached to. Conflicts with `clientScopeId`. One of `clientId` or `clientScopeId` must be specified.

func (AudienceResolveProtocolMapperOutput) ClientScopeId added in v5.3.0

The client scope this protocol mapper should be attached to. Conflicts with `clientId`. One of `clientId` or `clientScopeId` must be specified.

func (AudienceResolveProtocolMapperOutput) ElementType added in v5.3.0

func (AudienceResolveProtocolMapperOutput) Name added in v5.3.0

The display name of this protocol mapper in the GUI. Defaults to "audience resolve".

func (AudienceResolveProtocolMapperOutput) RealmId added in v5.3.0

The realm this protocol mapper exists within.

func (AudienceResolveProtocolMapperOutput) ToAudienceResolveProtocolMapperOutput added in v5.3.0

func (o AudienceResolveProtocolMapperOutput) ToAudienceResolveProtocolMapperOutput() AudienceResolveProtocolMapperOutput

func (AudienceResolveProtocolMapperOutput) ToAudienceResolveProtocolMapperOutputWithContext added in v5.3.0

func (o AudienceResolveProtocolMapperOutput) ToAudienceResolveProtocolMapperOutputWithContext(ctx context.Context) AudienceResolveProtocolMapperOutput

type AudienceResolveProtocolMapperState added in v5.3.0

type AudienceResolveProtocolMapperState struct {
	// The client this protocol mapper should be attached to. Conflicts with `clientScopeId`. One of `clientId` or `clientScopeId` must be specified.
	ClientId pulumi.StringPtrInput
	// The client scope this protocol mapper should be attached to. Conflicts with `clientId`. One of `clientId` or `clientScopeId` must be specified.
	ClientScopeId pulumi.StringPtrInput
	// The display name of this protocol mapper in the GUI. Defaults to "audience resolve".
	Name pulumi.StringPtrInput
	// The realm this protocol mapper exists within.
	RealmId pulumi.StringPtrInput
}

func (AudienceResolveProtocolMapperState) ElementType added in v5.3.0

type AudienceResolveProtocolMappter deprecated

type AudienceResolveProtocolMappter struct {
	pulumi.CustomResourceState

	// The client this protocol mapper should be attached to. Conflicts with `clientScopeId`. One of `clientId` or `clientScopeId` must be specified.
	ClientId pulumi.StringPtrOutput `pulumi:"clientId"`
	// The client scope this protocol mapper should be attached to. Conflicts with `clientId`. One of `clientId` or `clientScopeId` must be specified.
	ClientScopeId pulumi.StringPtrOutput `pulumi:"clientScopeId"`
	// The display name of this protocol mapper in the GUI. Defaults to "audience resolve".
	Name pulumi.StringOutput `pulumi:"name"`
	// The realm this protocol mapper exists within.
	RealmId pulumi.StringOutput `pulumi:"realmId"`
}

Allows for creating the "Audience Resolve" OIDC protocol mapper within Keycloak.

This protocol mapper is useful to avoid manual management of audiences, instead relying on the presence of client roles to imply which audiences are appropriate for the token. See the [Keycloak docs](https://www.keycloak.org/docs/latest/server_admin/#_audience_resolve) for more details.

## Example Usage

### Client)

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak"
"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak/openid"
"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
		}
		openidClient, err := openid.NewClient(ctx, "openidClient", &openid.ClientArgs{
			RealmId:    realm.ID(),
			ClientId:   pulumi.String("client"),
			Enabled:    pulumi.Bool(true),
			AccessType: pulumi.String("CONFIDENTIAL"),
			ValidRedirectUris: pulumi.StringArray{
				pulumi.String("http://localhost:8080/openid-callback"),
			},
		})
		if err != nil {
			return err
		}
		_, err = openid.NewAudienceResolveProtocolMapper(ctx, "audienceMapper", &openid.AudienceResolveProtocolMapperArgs{
			RealmId:  realm.ID(),
			ClientId: openidClient.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

### Client Scope)

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak"
"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak/openid"
"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
		}
		clientScope, err := openid.NewClientScope(ctx, "clientScope", &openid.ClientScopeArgs{
			RealmId: realm.ID(),
		})
		if err != nil {
			return err
		}
		_, err = openid.NewAudienceProtocolMapper(ctx, "audienceMapper", &openid.AudienceProtocolMapperArgs{
			RealmId:       realm.ID(),
			ClientScopeId: clientScope.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

Protocol mappers can be imported using one of the following formats:

- Client: `{{realm_id}}/client/{{client_keycloak_id}}/{{protocol_mapper_id}}`

- Client Scope: `{{realm_id}}/client-scope/{{client_scope_keycloak_id}}/{{protocol_mapper_id}}`

Example:

bash

```sh $ pulumi import keycloak:openid/audienceResolveProtocolMappter:AudienceResolveProtocolMappter audience_mapper my-realm/client/a7202154-8793-4656-b655-1dd18c181e14/71602afa-f7d1-4788-8c49-ef8fd00af0f4 ```

```sh $ pulumi import keycloak:openid/audienceResolveProtocolMappter:AudienceResolveProtocolMappter audience_mapper my-realm/client-scope/b799ea7e-73ee-4a73-990a-1eafebe8e20a/71602afa-f7d1-4788-8c49-ef8fd00af0f4 ```

Deprecated: keycloak.openid/audienceresolveprotocolmappter.AudienceResolveProtocolMappter has been deprecated in favor of keycloak.openid/audienceresolveprotocolmapper.AudienceResolveProtocolMapper

func GetAudienceResolveProtocolMappter

func GetAudienceResolveProtocolMappter(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *AudienceResolveProtocolMappterState, opts ...pulumi.ResourceOption) (*AudienceResolveProtocolMappter, error)

GetAudienceResolveProtocolMappter gets an existing AudienceResolveProtocolMappter 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 NewAudienceResolveProtocolMappter

func NewAudienceResolveProtocolMappter(ctx *pulumi.Context,
	name string, args *AudienceResolveProtocolMappterArgs, opts ...pulumi.ResourceOption) (*AudienceResolveProtocolMappter, error)

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

func (*AudienceResolveProtocolMappter) ElementType

func (*AudienceResolveProtocolMappter) ToAudienceResolveProtocolMappterOutput

func (i *AudienceResolveProtocolMappter) ToAudienceResolveProtocolMappterOutput() AudienceResolveProtocolMappterOutput

func (*AudienceResolveProtocolMappter) ToAudienceResolveProtocolMappterOutputWithContext

func (i *AudienceResolveProtocolMappter) ToAudienceResolveProtocolMappterOutputWithContext(ctx context.Context) AudienceResolveProtocolMappterOutput

type AudienceResolveProtocolMappterArgs

type AudienceResolveProtocolMappterArgs struct {
	// The client this protocol mapper should be attached to. Conflicts with `clientScopeId`. One of `clientId` or `clientScopeId` must be specified.
	ClientId pulumi.StringPtrInput
	// The client scope this protocol mapper should be attached to. Conflicts with `clientId`. One of `clientId` or `clientScopeId` must be specified.
	ClientScopeId pulumi.StringPtrInput
	// The display name of this protocol mapper in the GUI. Defaults to "audience resolve".
	Name pulumi.StringPtrInput
	// The realm this protocol mapper exists within.
	RealmId pulumi.StringInput
}

The set of arguments for constructing a AudienceResolveProtocolMappter resource.

func (AudienceResolveProtocolMappterArgs) ElementType

type AudienceResolveProtocolMappterArray

type AudienceResolveProtocolMappterArray []AudienceResolveProtocolMappterInput

func (AudienceResolveProtocolMappterArray) ElementType

func (AudienceResolveProtocolMappterArray) ToAudienceResolveProtocolMappterArrayOutput

func (i AudienceResolveProtocolMappterArray) ToAudienceResolveProtocolMappterArrayOutput() AudienceResolveProtocolMappterArrayOutput

func (AudienceResolveProtocolMappterArray) ToAudienceResolveProtocolMappterArrayOutputWithContext

func (i AudienceResolveProtocolMappterArray) ToAudienceResolveProtocolMappterArrayOutputWithContext(ctx context.Context) AudienceResolveProtocolMappterArrayOutput

type AudienceResolveProtocolMappterArrayInput

type AudienceResolveProtocolMappterArrayInput interface {
	pulumi.Input

	ToAudienceResolveProtocolMappterArrayOutput() AudienceResolveProtocolMappterArrayOutput
	ToAudienceResolveProtocolMappterArrayOutputWithContext(context.Context) AudienceResolveProtocolMappterArrayOutput
}

AudienceResolveProtocolMappterArrayInput is an input type that accepts AudienceResolveProtocolMappterArray and AudienceResolveProtocolMappterArrayOutput values. You can construct a concrete instance of `AudienceResolveProtocolMappterArrayInput` via:

AudienceResolveProtocolMappterArray{ AudienceResolveProtocolMappterArgs{...} }

type AudienceResolveProtocolMappterArrayOutput

type AudienceResolveProtocolMappterArrayOutput struct{ *pulumi.OutputState }

func (AudienceResolveProtocolMappterArrayOutput) ElementType

func (AudienceResolveProtocolMappterArrayOutput) Index

func (AudienceResolveProtocolMappterArrayOutput) ToAudienceResolveProtocolMappterArrayOutput

func (o AudienceResolveProtocolMappterArrayOutput) ToAudienceResolveProtocolMappterArrayOutput() AudienceResolveProtocolMappterArrayOutput

func (AudienceResolveProtocolMappterArrayOutput) ToAudienceResolveProtocolMappterArrayOutputWithContext

func (o AudienceResolveProtocolMappterArrayOutput) ToAudienceResolveProtocolMappterArrayOutputWithContext(ctx context.Context) AudienceResolveProtocolMappterArrayOutput

type AudienceResolveProtocolMappterInput

type AudienceResolveProtocolMappterInput interface {
	pulumi.Input

	ToAudienceResolveProtocolMappterOutput() AudienceResolveProtocolMappterOutput
	ToAudienceResolveProtocolMappterOutputWithContext(ctx context.Context) AudienceResolveProtocolMappterOutput
}

type AudienceResolveProtocolMappterMap

type AudienceResolveProtocolMappterMap map[string]AudienceResolveProtocolMappterInput

func (AudienceResolveProtocolMappterMap) ElementType

func (AudienceResolveProtocolMappterMap) ToAudienceResolveProtocolMappterMapOutput

func (i AudienceResolveProtocolMappterMap) ToAudienceResolveProtocolMappterMapOutput() AudienceResolveProtocolMappterMapOutput

func (AudienceResolveProtocolMappterMap) ToAudienceResolveProtocolMappterMapOutputWithContext

func (i AudienceResolveProtocolMappterMap) ToAudienceResolveProtocolMappterMapOutputWithContext(ctx context.Context) AudienceResolveProtocolMappterMapOutput

type AudienceResolveProtocolMappterMapInput

type AudienceResolveProtocolMappterMapInput interface {
	pulumi.Input

	ToAudienceResolveProtocolMappterMapOutput() AudienceResolveProtocolMappterMapOutput
	ToAudienceResolveProtocolMappterMapOutputWithContext(context.Context) AudienceResolveProtocolMappterMapOutput
}

AudienceResolveProtocolMappterMapInput is an input type that accepts AudienceResolveProtocolMappterMap and AudienceResolveProtocolMappterMapOutput values. You can construct a concrete instance of `AudienceResolveProtocolMappterMapInput` via:

AudienceResolveProtocolMappterMap{ "key": AudienceResolveProtocolMappterArgs{...} }

type AudienceResolveProtocolMappterMapOutput

type AudienceResolveProtocolMappterMapOutput struct{ *pulumi.OutputState }

func (AudienceResolveProtocolMappterMapOutput) ElementType

func (AudienceResolveProtocolMappterMapOutput) MapIndex

func (AudienceResolveProtocolMappterMapOutput) ToAudienceResolveProtocolMappterMapOutput

func (o AudienceResolveProtocolMappterMapOutput) ToAudienceResolveProtocolMappterMapOutput() AudienceResolveProtocolMappterMapOutput

func (AudienceResolveProtocolMappterMapOutput) ToAudienceResolveProtocolMappterMapOutputWithContext

func (o AudienceResolveProtocolMappterMapOutput) ToAudienceResolveProtocolMappterMapOutputWithContext(ctx context.Context) AudienceResolveProtocolMappterMapOutput

type AudienceResolveProtocolMappterOutput

type AudienceResolveProtocolMappterOutput struct{ *pulumi.OutputState }

func (AudienceResolveProtocolMappterOutput) ClientId

The client this protocol mapper should be attached to. Conflicts with `clientScopeId`. One of `clientId` or `clientScopeId` must be specified.

func (AudienceResolveProtocolMappterOutput) ClientScopeId

The client scope this protocol mapper should be attached to. Conflicts with `clientId`. One of `clientId` or `clientScopeId` must be specified.

func (AudienceResolveProtocolMappterOutput) ElementType

func (AudienceResolveProtocolMappterOutput) Name

The display name of this protocol mapper in the GUI. Defaults to "audience resolve".

func (AudienceResolveProtocolMappterOutput) RealmId

The realm this protocol mapper exists within.

func (AudienceResolveProtocolMappterOutput) ToAudienceResolveProtocolMappterOutput

func (o AudienceResolveProtocolMappterOutput) ToAudienceResolveProtocolMappterOutput() AudienceResolveProtocolMappterOutput

func (AudienceResolveProtocolMappterOutput) ToAudienceResolveProtocolMappterOutputWithContext

func (o AudienceResolveProtocolMappterOutput) ToAudienceResolveProtocolMappterOutputWithContext(ctx context.Context) AudienceResolveProtocolMappterOutput

type AudienceResolveProtocolMappterState

type AudienceResolveProtocolMappterState struct {
	// The client this protocol mapper should be attached to. Conflicts with `clientScopeId`. One of `clientId` or `clientScopeId` must be specified.
	ClientId pulumi.StringPtrInput
	// The client scope this protocol mapper should be attached to. Conflicts with `clientId`. One of `clientId` or `clientScopeId` must be specified.
	ClientScopeId pulumi.StringPtrInput
	// The display name of this protocol mapper in the GUI. Defaults to "audience resolve".
	Name pulumi.StringPtrInput
	// The realm this protocol mapper exists within.
	RealmId pulumi.StringPtrInput
}

func (AudienceResolveProtocolMappterState) ElementType

type Client

type Client struct {
	pulumi.CustomResourceState

	AccessTokenLifespan                    pulumi.StringOutput                               `pulumi:"accessTokenLifespan"`
	AccessType                             pulumi.StringOutput                               `pulumi:"accessType"`
	AdminUrl                               pulumi.StringOutput                               `pulumi:"adminUrl"`
	AuthenticationFlowBindingOverrides     ClientAuthenticationFlowBindingOverridesPtrOutput `pulumi:"authenticationFlowBindingOverrides"`
	Authorization                          ClientAuthorizationPtrOutput                      `pulumi:"authorization"`
	BackchannelLogoutRevokeOfflineSessions pulumi.BoolPtrOutput                              `pulumi:"backchannelLogoutRevokeOfflineSessions"`
	BackchannelLogoutSessionRequired       pulumi.BoolPtrOutput                              `pulumi:"backchannelLogoutSessionRequired"`
	BackchannelLogoutUrl                   pulumi.StringPtrOutput                            `pulumi:"backchannelLogoutUrl"`
	BaseUrl                                pulumi.StringOutput                               `pulumi:"baseUrl"`
	ClientAuthenticatorType                pulumi.StringPtrOutput                            `pulumi:"clientAuthenticatorType"`
	ClientId                               pulumi.StringOutput                               `pulumi:"clientId"`
	ClientOfflineSessionIdleTimeout        pulumi.StringOutput                               `pulumi:"clientOfflineSessionIdleTimeout"`
	ClientOfflineSessionMaxLifespan        pulumi.StringOutput                               `pulumi:"clientOfflineSessionMaxLifespan"`
	ClientSecret                           pulumi.StringOutput                               `pulumi:"clientSecret"`
	ClientSessionIdleTimeout               pulumi.StringOutput                               `pulumi:"clientSessionIdleTimeout"`
	ClientSessionMaxLifespan               pulumi.StringOutput                               `pulumi:"clientSessionMaxLifespan"`
	ConsentRequired                        pulumi.BoolOutput                                 `pulumi:"consentRequired"`
	ConsentScreenText                      pulumi.StringOutput                               `pulumi:"consentScreenText"`
	Description                            pulumi.StringOutput                               `pulumi:"description"`
	DirectAccessGrantsEnabled              pulumi.BoolOutput                                 `pulumi:"directAccessGrantsEnabled"`
	DisplayOnConsentScreen                 pulumi.BoolOutput                                 `pulumi:"displayOnConsentScreen"`
	Enabled                                pulumi.BoolPtrOutput                              `pulumi:"enabled"`
	ExcludeSessionStateFromAuthResponse    pulumi.BoolOutput                                 `pulumi:"excludeSessionStateFromAuthResponse"`
	ExtraConfig                            pulumi.MapOutput                                  `pulumi:"extraConfig"`
	FrontchannelLogoutEnabled              pulumi.BoolOutput                                 `pulumi:"frontchannelLogoutEnabled"`
	FrontchannelLogoutUrl                  pulumi.StringPtrOutput                            `pulumi:"frontchannelLogoutUrl"`
	FullScopeAllowed                       pulumi.BoolPtrOutput                              `pulumi:"fullScopeAllowed"`
	ImplicitFlowEnabled                    pulumi.BoolOutput                                 `pulumi:"implicitFlowEnabled"`
	Import                                 pulumi.BoolPtrOutput                              `pulumi:"import"`
	LoginTheme                             pulumi.StringPtrOutput                            `pulumi:"loginTheme"`
	Name                                   pulumi.StringOutput                               `pulumi:"name"`
	Oauth2DeviceAuthorizationGrantEnabled  pulumi.BoolPtrOutput                              `pulumi:"oauth2DeviceAuthorizationGrantEnabled"`
	Oauth2DeviceCodeLifespan               pulumi.StringPtrOutput                            `pulumi:"oauth2DeviceCodeLifespan"`
	Oauth2DevicePollingInterval            pulumi.StringPtrOutput                            `pulumi:"oauth2DevicePollingInterval"`
	PkceCodeChallengeMethod                pulumi.StringPtrOutput                            `pulumi:"pkceCodeChallengeMethod"`
	RealmId                                pulumi.StringOutput                               `pulumi:"realmId"`
	ResourceServerId                       pulumi.StringOutput                               `pulumi:"resourceServerId"`
	RootUrl                                pulumi.StringOutput                               `pulumi:"rootUrl"`
	ServiceAccountUserId                   pulumi.StringOutput                               `pulumi:"serviceAccountUserId"`
	ServiceAccountsEnabled                 pulumi.BoolOutput                                 `pulumi:"serviceAccountsEnabled"`
	StandardFlowEnabled                    pulumi.BoolOutput                                 `pulumi:"standardFlowEnabled"`
	UseRefreshTokens                       pulumi.BoolPtrOutput                              `pulumi:"useRefreshTokens"`
	UseRefreshTokensClientCredentials      pulumi.BoolPtrOutput                              `pulumi:"useRefreshTokensClientCredentials"`
	ValidPostLogoutRedirectUris            pulumi.StringArrayOutput                          `pulumi:"validPostLogoutRedirectUris"`
	ValidRedirectUris                      pulumi.StringArrayOutput                          `pulumi:"validRedirectUris"`
	WebOrigins                             pulumi.StringArrayOutput                          `pulumi:"webOrigins"`
}

## # openid.Client

Allows for creating and managing Keycloak clients that use the OpenID Connect protocol.

Clients are entities that can use Keycloak for user authentication. Typically, clients are applications that redirect users to Keycloak for authentication in order to take advantage of Keycloak's user sessions for SSO.

### Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak"
"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak/openid"
"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{
			Enabled: pulumi.Bool(true),
			Realm:   pulumi.String("my-realm"),
		})
		if err != nil {
			return err
		}
		_, err = openid.NewClient(ctx, "openidClient", &openid.ClientArgs{
			AccessType: pulumi.String("CONFIDENTIAL"),
			ClientId:   pulumi.String("test-client"),
			Enabled:    pulumi.Bool(true),
			RealmId:    realm.ID(),
			ValidRedirectUris: pulumi.StringArray{
				pulumi.String("http://localhost:8080/openid-callback"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

### Argument Reference

The following arguments are supported:

- `realmId` - (Required) The realm this client is attached to. - `clientId` - (Required) The unique ID of this client, referenced in the URI during authentication and in issued tokens. - `name` - (Optional) The display name of this client in the GUI. - `enabled` - (Optional) When false, this client will not be able to initiate a login or obtain access tokens. Defaults to `true`. - `description` - (Optional) The description of this client in the GUI. - `accessType` - (Required) Specifies the type of client, which can be one of the following:

  • `CONFIDENTIAL` - Used for server-side clients that require both client ID and secret when authenticating. This client should be used for applications using the Authorization Code or Client Credentials grant flows.
  • `PUBLIC` - Used for browser-only applications that do not require a client secret, and instead rely only on authorized redirect URIs for security. This client should be used for applications using the Implicit grant flow.
  • `BEARER-ONLY` - Used for services that never initiate a login. This client will only allow bearer token requests.
  • `clientSecret` - (Optional) The secret for clients with an `accessType` of `CONFIDENTIAL` or `BEARER-ONLY`. This value is sensitive and should be treated with the same care as a password. If omitted, Keycloak will generate a GUID for this attribute.
  • `standardFlowEnabled` - (Optional) When `true`, the OAuth2 Authorization Code Grant will be enabled for this client. Defaults to `false`.
  • `implicitFlowEnabled` - (Optional) When `true`, the OAuth2 Implicit Grant will be enabled for this client. Defaults to `false`.
  • `directAccessGrantsEnabled` - (Optional) When `true`, the OAuth2 Resource Owner Password Grant will be enabled for this client. Defaults to `false`.
  • `serviceAccountsEnabled` - (Optional) When `true`, the OAuth2 Client Credentials grant will be enabled for this client. Defaults to `false`.
  • `validRedirectUris` - (Optional) A list of valid URIs a browser is permitted to redirect to after a successful login or logout. Simple wildcards in the form of an asterisk can be used here. This attribute must be set if either `standardFlowEnabled` or `implicitFlowEnabled` is set to `true`.
  • `webOrigins` - (Optional) A list of allowed CORS origins. `+` can be used to permit all valid redirect URIs, and `*` can be used to permit all origins.
  • `adminUrl` - (Optional) URL to the admin interface of the client.
  • `baseUrl` - (Optional) Default URL to use when the auth server needs to redirect or link back to the client.
  • `pkceCodeChallengeMethod` - (Optional) The challenge method to use for Proof Key for Code Exchange. Can be either `plain` or `S256` or set to empty value “.
  • `fullScopeAllowed` - (Optional) - Allow to include all roles mappings in the access token.

### Attributes Reference

In addition to the arguments listed above, the following computed attributes are exported:

- `serviceAccountUserId` - When service accounts are enabled for this client, this attribute is the unique ID for the Keycloak user that represents this service account.

### Import

Clients can be imported using the format `{{realm_id}}/{{client_keycloak_id}}`, where `clientKeycloakId` is the unique ID that Keycloak assigns to the client upon creation. This value can be found in the URI when editing this client in the GUI, and is typically a GUID.

Example:

func GetClient

func GetClient(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ClientState, opts ...pulumi.ResourceOption) (*Client, error)

GetClient gets an existing Client 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 NewClient

func NewClient(ctx *pulumi.Context,
	name string, args *ClientArgs, opts ...pulumi.ResourceOption) (*Client, error)

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

func (*Client) ElementType

func (*Client) ElementType() reflect.Type

func (*Client) ToClientOutput

func (i *Client) ToClientOutput() ClientOutput

func (*Client) ToClientOutputWithContext

func (i *Client) ToClientOutputWithContext(ctx context.Context) ClientOutput

type ClientAggregatePolicy

type ClientAggregatePolicy struct {
	pulumi.CustomResourceState

	DecisionStrategy pulumi.StringOutput      `pulumi:"decisionStrategy"`
	Description      pulumi.StringPtrOutput   `pulumi:"description"`
	Logic            pulumi.StringPtrOutput   `pulumi:"logic"`
	Name             pulumi.StringOutput      `pulumi:"name"`
	Policies         pulumi.StringArrayOutput `pulumi:"policies"`
	RealmId          pulumi.StringOutput      `pulumi:"realmId"`
	ResourceServerId pulumi.StringOutput      `pulumi:"resourceServerId"`
}

func GetClientAggregatePolicy

func GetClientAggregatePolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ClientAggregatePolicyState, opts ...pulumi.ResourceOption) (*ClientAggregatePolicy, error)

GetClientAggregatePolicy gets an existing ClientAggregatePolicy 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 NewClientAggregatePolicy

func NewClientAggregatePolicy(ctx *pulumi.Context,
	name string, args *ClientAggregatePolicyArgs, opts ...pulumi.ResourceOption) (*ClientAggregatePolicy, error)

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

func (*ClientAggregatePolicy) ElementType

func (*ClientAggregatePolicy) ElementType() reflect.Type

func (*ClientAggregatePolicy) ToClientAggregatePolicyOutput

func (i *ClientAggregatePolicy) ToClientAggregatePolicyOutput() ClientAggregatePolicyOutput

func (*ClientAggregatePolicy) ToClientAggregatePolicyOutputWithContext

func (i *ClientAggregatePolicy) ToClientAggregatePolicyOutputWithContext(ctx context.Context) ClientAggregatePolicyOutput

type ClientAggregatePolicyArgs

type ClientAggregatePolicyArgs struct {
	DecisionStrategy pulumi.StringInput
	Description      pulumi.StringPtrInput
	Logic            pulumi.StringPtrInput
	Name             pulumi.StringPtrInput
	Policies         pulumi.StringArrayInput
	RealmId          pulumi.StringInput
	ResourceServerId pulumi.StringInput
}

The set of arguments for constructing a ClientAggregatePolicy resource.

func (ClientAggregatePolicyArgs) ElementType

func (ClientAggregatePolicyArgs) ElementType() reflect.Type

type ClientAggregatePolicyArray

type ClientAggregatePolicyArray []ClientAggregatePolicyInput

func (ClientAggregatePolicyArray) ElementType

func (ClientAggregatePolicyArray) ElementType() reflect.Type

func (ClientAggregatePolicyArray) ToClientAggregatePolicyArrayOutput

func (i ClientAggregatePolicyArray) ToClientAggregatePolicyArrayOutput() ClientAggregatePolicyArrayOutput

func (ClientAggregatePolicyArray) ToClientAggregatePolicyArrayOutputWithContext

func (i ClientAggregatePolicyArray) ToClientAggregatePolicyArrayOutputWithContext(ctx context.Context) ClientAggregatePolicyArrayOutput

type ClientAggregatePolicyArrayInput

type ClientAggregatePolicyArrayInput interface {
	pulumi.Input

	ToClientAggregatePolicyArrayOutput() ClientAggregatePolicyArrayOutput
	ToClientAggregatePolicyArrayOutputWithContext(context.Context) ClientAggregatePolicyArrayOutput
}

ClientAggregatePolicyArrayInput is an input type that accepts ClientAggregatePolicyArray and ClientAggregatePolicyArrayOutput values. You can construct a concrete instance of `ClientAggregatePolicyArrayInput` via:

ClientAggregatePolicyArray{ ClientAggregatePolicyArgs{...} }

type ClientAggregatePolicyArrayOutput

type ClientAggregatePolicyArrayOutput struct{ *pulumi.OutputState }

func (ClientAggregatePolicyArrayOutput) ElementType

func (ClientAggregatePolicyArrayOutput) Index

func (ClientAggregatePolicyArrayOutput) ToClientAggregatePolicyArrayOutput

func (o ClientAggregatePolicyArrayOutput) ToClientAggregatePolicyArrayOutput() ClientAggregatePolicyArrayOutput

func (ClientAggregatePolicyArrayOutput) ToClientAggregatePolicyArrayOutputWithContext

func (o ClientAggregatePolicyArrayOutput) ToClientAggregatePolicyArrayOutputWithContext(ctx context.Context) ClientAggregatePolicyArrayOutput

type ClientAggregatePolicyInput

type ClientAggregatePolicyInput interface {
	pulumi.Input

	ToClientAggregatePolicyOutput() ClientAggregatePolicyOutput
	ToClientAggregatePolicyOutputWithContext(ctx context.Context) ClientAggregatePolicyOutput
}

type ClientAggregatePolicyMap

type ClientAggregatePolicyMap map[string]ClientAggregatePolicyInput

func (ClientAggregatePolicyMap) ElementType

func (ClientAggregatePolicyMap) ElementType() reflect.Type

func (ClientAggregatePolicyMap) ToClientAggregatePolicyMapOutput

func (i ClientAggregatePolicyMap) ToClientAggregatePolicyMapOutput() ClientAggregatePolicyMapOutput

func (ClientAggregatePolicyMap) ToClientAggregatePolicyMapOutputWithContext

func (i ClientAggregatePolicyMap) ToClientAggregatePolicyMapOutputWithContext(ctx context.Context) ClientAggregatePolicyMapOutput

type ClientAggregatePolicyMapInput

type ClientAggregatePolicyMapInput interface {
	pulumi.Input

	ToClientAggregatePolicyMapOutput() ClientAggregatePolicyMapOutput
	ToClientAggregatePolicyMapOutputWithContext(context.Context) ClientAggregatePolicyMapOutput
}

ClientAggregatePolicyMapInput is an input type that accepts ClientAggregatePolicyMap and ClientAggregatePolicyMapOutput values. You can construct a concrete instance of `ClientAggregatePolicyMapInput` via:

ClientAggregatePolicyMap{ "key": ClientAggregatePolicyArgs{...} }

type ClientAggregatePolicyMapOutput

type ClientAggregatePolicyMapOutput struct{ *pulumi.OutputState }

func (ClientAggregatePolicyMapOutput) ElementType

func (ClientAggregatePolicyMapOutput) MapIndex

func (ClientAggregatePolicyMapOutput) ToClientAggregatePolicyMapOutput

func (o ClientAggregatePolicyMapOutput) ToClientAggregatePolicyMapOutput() ClientAggregatePolicyMapOutput

func (ClientAggregatePolicyMapOutput) ToClientAggregatePolicyMapOutputWithContext

func (o ClientAggregatePolicyMapOutput) ToClientAggregatePolicyMapOutputWithContext(ctx context.Context) ClientAggregatePolicyMapOutput

type ClientAggregatePolicyOutput

type ClientAggregatePolicyOutput struct{ *pulumi.OutputState }

func (ClientAggregatePolicyOutput) DecisionStrategy

func (o ClientAggregatePolicyOutput) DecisionStrategy() pulumi.StringOutput

func (ClientAggregatePolicyOutput) Description

func (ClientAggregatePolicyOutput) ElementType

func (ClientAggregatePolicyOutput) Logic

func (ClientAggregatePolicyOutput) Name

func (ClientAggregatePolicyOutput) Policies

func (ClientAggregatePolicyOutput) RealmId

func (ClientAggregatePolicyOutput) ResourceServerId

func (o ClientAggregatePolicyOutput) ResourceServerId() pulumi.StringOutput

func (ClientAggregatePolicyOutput) ToClientAggregatePolicyOutput

func (o ClientAggregatePolicyOutput) ToClientAggregatePolicyOutput() ClientAggregatePolicyOutput

func (ClientAggregatePolicyOutput) ToClientAggregatePolicyOutputWithContext

func (o ClientAggregatePolicyOutput) ToClientAggregatePolicyOutputWithContext(ctx context.Context) ClientAggregatePolicyOutput

type ClientAggregatePolicyState

type ClientAggregatePolicyState struct {
	DecisionStrategy pulumi.StringPtrInput
	Description      pulumi.StringPtrInput
	Logic            pulumi.StringPtrInput
	Name             pulumi.StringPtrInput
	Policies         pulumi.StringArrayInput
	RealmId          pulumi.StringPtrInput
	ResourceServerId pulumi.StringPtrInput
}

func (ClientAggregatePolicyState) ElementType

func (ClientAggregatePolicyState) ElementType() reflect.Type

type ClientArgs

type ClientArgs struct {
	AccessTokenLifespan                    pulumi.StringPtrInput
	AccessType                             pulumi.StringInput
	AdminUrl                               pulumi.StringPtrInput
	AuthenticationFlowBindingOverrides     ClientAuthenticationFlowBindingOverridesPtrInput
	Authorization                          ClientAuthorizationPtrInput
	BackchannelLogoutRevokeOfflineSessions pulumi.BoolPtrInput
	BackchannelLogoutSessionRequired       pulumi.BoolPtrInput
	BackchannelLogoutUrl                   pulumi.StringPtrInput
	BaseUrl                                pulumi.StringPtrInput
	ClientAuthenticatorType                pulumi.StringPtrInput
	ClientId                               pulumi.StringInput
	ClientOfflineSessionIdleTimeout        pulumi.StringPtrInput
	ClientOfflineSessionMaxLifespan        pulumi.StringPtrInput
	ClientSecret                           pulumi.StringPtrInput
	ClientSessionIdleTimeout               pulumi.StringPtrInput
	ClientSessionMaxLifespan               pulumi.StringPtrInput
	ConsentRequired                        pulumi.BoolPtrInput
	ConsentScreenText                      pulumi.StringPtrInput
	Description                            pulumi.StringPtrInput
	DirectAccessGrantsEnabled              pulumi.BoolPtrInput
	DisplayOnConsentScreen                 pulumi.BoolPtrInput
	Enabled                                pulumi.BoolPtrInput
	ExcludeSessionStateFromAuthResponse    pulumi.BoolPtrInput
	ExtraConfig                            pulumi.MapInput
	FrontchannelLogoutEnabled              pulumi.BoolPtrInput
	FrontchannelLogoutUrl                  pulumi.StringPtrInput
	FullScopeAllowed                       pulumi.BoolPtrInput
	ImplicitFlowEnabled                    pulumi.BoolPtrInput
	Import                                 pulumi.BoolPtrInput
	LoginTheme                             pulumi.StringPtrInput
	Name                                   pulumi.StringPtrInput
	Oauth2DeviceAuthorizationGrantEnabled  pulumi.BoolPtrInput
	Oauth2DeviceCodeLifespan               pulumi.StringPtrInput
	Oauth2DevicePollingInterval            pulumi.StringPtrInput
	PkceCodeChallengeMethod                pulumi.StringPtrInput
	RealmId                                pulumi.StringInput
	RootUrl                                pulumi.StringPtrInput
	ServiceAccountsEnabled                 pulumi.BoolPtrInput
	StandardFlowEnabled                    pulumi.BoolPtrInput
	UseRefreshTokens                       pulumi.BoolPtrInput
	UseRefreshTokensClientCredentials      pulumi.BoolPtrInput
	ValidPostLogoutRedirectUris            pulumi.StringArrayInput
	ValidRedirectUris                      pulumi.StringArrayInput
	WebOrigins                             pulumi.StringArrayInput
}

The set of arguments for constructing a Client resource.

func (ClientArgs) ElementType

func (ClientArgs) ElementType() reflect.Type

type ClientArray

type ClientArray []ClientInput

func (ClientArray) ElementType

func (ClientArray) ElementType() reflect.Type

func (ClientArray) ToClientArrayOutput

func (i ClientArray) ToClientArrayOutput() ClientArrayOutput

func (ClientArray) ToClientArrayOutputWithContext

func (i ClientArray) ToClientArrayOutputWithContext(ctx context.Context) ClientArrayOutput

type ClientArrayInput

type ClientArrayInput interface {
	pulumi.Input

	ToClientArrayOutput() ClientArrayOutput
	ToClientArrayOutputWithContext(context.Context) ClientArrayOutput
}

ClientArrayInput is an input type that accepts ClientArray and ClientArrayOutput values. You can construct a concrete instance of `ClientArrayInput` via:

ClientArray{ ClientArgs{...} }

type ClientArrayOutput

type ClientArrayOutput struct{ *pulumi.OutputState }

func (ClientArrayOutput) ElementType

func (ClientArrayOutput) ElementType() reflect.Type

func (ClientArrayOutput) Index

func (ClientArrayOutput) ToClientArrayOutput

func (o ClientArrayOutput) ToClientArrayOutput() ClientArrayOutput

func (ClientArrayOutput) ToClientArrayOutputWithContext

func (o ClientArrayOutput) ToClientArrayOutputWithContext(ctx context.Context) ClientArrayOutput

type ClientAuthenticationFlowBindingOverrides

type ClientAuthenticationFlowBindingOverrides struct {
	BrowserId     *string `pulumi:"browserId"`
	DirectGrantId *string `pulumi:"directGrantId"`
}

type ClientAuthenticationFlowBindingOverridesArgs

type ClientAuthenticationFlowBindingOverridesArgs struct {
	BrowserId     pulumi.StringPtrInput `pulumi:"browserId"`
	DirectGrantId pulumi.StringPtrInput `pulumi:"directGrantId"`
}

func (ClientAuthenticationFlowBindingOverridesArgs) ElementType

func (ClientAuthenticationFlowBindingOverridesArgs) ToClientAuthenticationFlowBindingOverridesOutput

func (i ClientAuthenticationFlowBindingOverridesArgs) ToClientAuthenticationFlowBindingOverridesOutput() ClientAuthenticationFlowBindingOverridesOutput

func (ClientAuthenticationFlowBindingOverridesArgs) ToClientAuthenticationFlowBindingOverridesOutputWithContext

func (i ClientAuthenticationFlowBindingOverridesArgs) ToClientAuthenticationFlowBindingOverridesOutputWithContext(ctx context.Context) ClientAuthenticationFlowBindingOverridesOutput

func (ClientAuthenticationFlowBindingOverridesArgs) ToClientAuthenticationFlowBindingOverridesPtrOutput

func (i ClientAuthenticationFlowBindingOverridesArgs) ToClientAuthenticationFlowBindingOverridesPtrOutput() ClientAuthenticationFlowBindingOverridesPtrOutput

func (ClientAuthenticationFlowBindingOverridesArgs) ToClientAuthenticationFlowBindingOverridesPtrOutputWithContext

func (i ClientAuthenticationFlowBindingOverridesArgs) ToClientAuthenticationFlowBindingOverridesPtrOutputWithContext(ctx context.Context) ClientAuthenticationFlowBindingOverridesPtrOutput

type ClientAuthenticationFlowBindingOverridesInput

type ClientAuthenticationFlowBindingOverridesInput interface {
	pulumi.Input

	ToClientAuthenticationFlowBindingOverridesOutput() ClientAuthenticationFlowBindingOverridesOutput
	ToClientAuthenticationFlowBindingOverridesOutputWithContext(context.Context) ClientAuthenticationFlowBindingOverridesOutput
}

ClientAuthenticationFlowBindingOverridesInput is an input type that accepts ClientAuthenticationFlowBindingOverridesArgs and ClientAuthenticationFlowBindingOverridesOutput values. You can construct a concrete instance of `ClientAuthenticationFlowBindingOverridesInput` via:

ClientAuthenticationFlowBindingOverridesArgs{...}

type ClientAuthenticationFlowBindingOverridesOutput

type ClientAuthenticationFlowBindingOverridesOutput struct{ *pulumi.OutputState }

func (ClientAuthenticationFlowBindingOverridesOutput) BrowserId

func (ClientAuthenticationFlowBindingOverridesOutput) DirectGrantId

func (ClientAuthenticationFlowBindingOverridesOutput) ElementType

func (ClientAuthenticationFlowBindingOverridesOutput) ToClientAuthenticationFlowBindingOverridesOutput

func (o ClientAuthenticationFlowBindingOverridesOutput) ToClientAuthenticationFlowBindingOverridesOutput() ClientAuthenticationFlowBindingOverridesOutput

func (ClientAuthenticationFlowBindingOverridesOutput) ToClientAuthenticationFlowBindingOverridesOutputWithContext

func (o ClientAuthenticationFlowBindingOverridesOutput) ToClientAuthenticationFlowBindingOverridesOutputWithContext(ctx context.Context) ClientAuthenticationFlowBindingOverridesOutput

func (ClientAuthenticationFlowBindingOverridesOutput) ToClientAuthenticationFlowBindingOverridesPtrOutput

func (o ClientAuthenticationFlowBindingOverridesOutput) ToClientAuthenticationFlowBindingOverridesPtrOutput() ClientAuthenticationFlowBindingOverridesPtrOutput

func (ClientAuthenticationFlowBindingOverridesOutput) ToClientAuthenticationFlowBindingOverridesPtrOutputWithContext

func (o ClientAuthenticationFlowBindingOverridesOutput) ToClientAuthenticationFlowBindingOverridesPtrOutputWithContext(ctx context.Context) ClientAuthenticationFlowBindingOverridesPtrOutput

type ClientAuthenticationFlowBindingOverridesPtrInput

type ClientAuthenticationFlowBindingOverridesPtrInput interface {
	pulumi.Input

	ToClientAuthenticationFlowBindingOverridesPtrOutput() ClientAuthenticationFlowBindingOverridesPtrOutput
	ToClientAuthenticationFlowBindingOverridesPtrOutputWithContext(context.Context) ClientAuthenticationFlowBindingOverridesPtrOutput
}

ClientAuthenticationFlowBindingOverridesPtrInput is an input type that accepts ClientAuthenticationFlowBindingOverridesArgs, ClientAuthenticationFlowBindingOverridesPtr and ClientAuthenticationFlowBindingOverridesPtrOutput values. You can construct a concrete instance of `ClientAuthenticationFlowBindingOverridesPtrInput` via:

        ClientAuthenticationFlowBindingOverridesArgs{...}

or:

        nil

type ClientAuthenticationFlowBindingOverridesPtrOutput

type ClientAuthenticationFlowBindingOverridesPtrOutput struct{ *pulumi.OutputState }

func (ClientAuthenticationFlowBindingOverridesPtrOutput) BrowserId

func (ClientAuthenticationFlowBindingOverridesPtrOutput) DirectGrantId

func (ClientAuthenticationFlowBindingOverridesPtrOutput) Elem

func (ClientAuthenticationFlowBindingOverridesPtrOutput) ElementType

func (ClientAuthenticationFlowBindingOverridesPtrOutput) ToClientAuthenticationFlowBindingOverridesPtrOutput

func (o ClientAuthenticationFlowBindingOverridesPtrOutput) ToClientAuthenticationFlowBindingOverridesPtrOutput() ClientAuthenticationFlowBindingOverridesPtrOutput

func (ClientAuthenticationFlowBindingOverridesPtrOutput) ToClientAuthenticationFlowBindingOverridesPtrOutputWithContext

func (o ClientAuthenticationFlowBindingOverridesPtrOutput) ToClientAuthenticationFlowBindingOverridesPtrOutputWithContext(ctx context.Context) ClientAuthenticationFlowBindingOverridesPtrOutput

type ClientAuthorization

type ClientAuthorization struct {
	AllowRemoteResourceManagement *bool   `pulumi:"allowRemoteResourceManagement"`
	DecisionStrategy              *string `pulumi:"decisionStrategy"`
	KeepDefaults                  *bool   `pulumi:"keepDefaults"`
	PolicyEnforcementMode         string  `pulumi:"policyEnforcementMode"`
}

type ClientAuthorizationArgs

type ClientAuthorizationArgs struct {
	AllowRemoteResourceManagement pulumi.BoolPtrInput   `pulumi:"allowRemoteResourceManagement"`
	DecisionStrategy              pulumi.StringPtrInput `pulumi:"decisionStrategy"`
	KeepDefaults                  pulumi.BoolPtrInput   `pulumi:"keepDefaults"`
	PolicyEnforcementMode         pulumi.StringInput    `pulumi:"policyEnforcementMode"`
}

func (ClientAuthorizationArgs) ElementType

func (ClientAuthorizationArgs) ElementType() reflect.Type

func (ClientAuthorizationArgs) ToClientAuthorizationOutput

func (i ClientAuthorizationArgs) ToClientAuthorizationOutput() ClientAuthorizationOutput

func (ClientAuthorizationArgs) ToClientAuthorizationOutputWithContext

func (i ClientAuthorizationArgs) ToClientAuthorizationOutputWithContext(ctx context.Context) ClientAuthorizationOutput

func (ClientAuthorizationArgs) ToClientAuthorizationPtrOutput

func (i ClientAuthorizationArgs) ToClientAuthorizationPtrOutput() ClientAuthorizationPtrOutput

func (ClientAuthorizationArgs) ToClientAuthorizationPtrOutputWithContext

func (i ClientAuthorizationArgs) ToClientAuthorizationPtrOutputWithContext(ctx context.Context) ClientAuthorizationPtrOutput

type ClientAuthorizationInput

type ClientAuthorizationInput interface {
	pulumi.Input

	ToClientAuthorizationOutput() ClientAuthorizationOutput
	ToClientAuthorizationOutputWithContext(context.Context) ClientAuthorizationOutput
}

ClientAuthorizationInput is an input type that accepts ClientAuthorizationArgs and ClientAuthorizationOutput values. You can construct a concrete instance of `ClientAuthorizationInput` via:

ClientAuthorizationArgs{...}

type ClientAuthorizationOutput

type ClientAuthorizationOutput struct{ *pulumi.OutputState }

func (ClientAuthorizationOutput) AllowRemoteResourceManagement

func (o ClientAuthorizationOutput) AllowRemoteResourceManagement() pulumi.BoolPtrOutput

func (ClientAuthorizationOutput) DecisionStrategy

func (o ClientAuthorizationOutput) DecisionStrategy() pulumi.StringPtrOutput

func (ClientAuthorizationOutput) ElementType

func (ClientAuthorizationOutput) ElementType() reflect.Type

func (ClientAuthorizationOutput) KeepDefaults

func (ClientAuthorizationOutput) PolicyEnforcementMode

func (o ClientAuthorizationOutput) PolicyEnforcementMode() pulumi.StringOutput

func (ClientAuthorizationOutput) ToClientAuthorizationOutput

func (o ClientAuthorizationOutput) ToClientAuthorizationOutput() ClientAuthorizationOutput

func (ClientAuthorizationOutput) ToClientAuthorizationOutputWithContext

func (o ClientAuthorizationOutput) ToClientAuthorizationOutputWithContext(ctx context.Context) ClientAuthorizationOutput

func (ClientAuthorizationOutput) ToClientAuthorizationPtrOutput

func (o ClientAuthorizationOutput) ToClientAuthorizationPtrOutput() ClientAuthorizationPtrOutput

func (ClientAuthorizationOutput) ToClientAuthorizationPtrOutputWithContext

func (o ClientAuthorizationOutput) ToClientAuthorizationPtrOutputWithContext(ctx context.Context) ClientAuthorizationPtrOutput

type ClientAuthorizationPermission

type ClientAuthorizationPermission struct {
	pulumi.CustomResourceState

	DecisionStrategy pulumi.StringPtrOutput   `pulumi:"decisionStrategy"`
	Description      pulumi.StringPtrOutput   `pulumi:"description"`
	Name             pulumi.StringOutput      `pulumi:"name"`
	Policies         pulumi.StringArrayOutput `pulumi:"policies"`
	RealmId          pulumi.StringOutput      `pulumi:"realmId"`
	ResourceServerId pulumi.StringOutput      `pulumi:"resourceServerId"`
	ResourceType     pulumi.StringPtrOutput   `pulumi:"resourceType"`
	Resources        pulumi.StringArrayOutput `pulumi:"resources"`
	Scopes           pulumi.StringArrayOutput `pulumi:"scopes"`
	Type             pulumi.StringPtrOutput   `pulumi:"type"`
}

Allows you to manage openid Client Authorization Permissions.

## Import

Client authorization permissions can be imported using the format: `{{realmId}}/{{resourceServerId}}/{{permissionId}}`.

Example:

bash

```sh $ pulumi import keycloak:openid/clientAuthorizationPermission:ClientAuthorizationPermission test my-realm/3bd4a686-1062-4b59-97b8-e4e3f10b99da/63b3cde8-987d-4cd9-9306-1955579281d9 ```

func GetClientAuthorizationPermission

func GetClientAuthorizationPermission(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ClientAuthorizationPermissionState, opts ...pulumi.ResourceOption) (*ClientAuthorizationPermission, error)

GetClientAuthorizationPermission gets an existing ClientAuthorizationPermission 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 NewClientAuthorizationPermission

func NewClientAuthorizationPermission(ctx *pulumi.Context,
	name string, args *ClientAuthorizationPermissionArgs, opts ...pulumi.ResourceOption) (*ClientAuthorizationPermission, error)

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

func (*ClientAuthorizationPermission) ElementType

func (*ClientAuthorizationPermission) ToClientAuthorizationPermissionOutput

func (i *ClientAuthorizationPermission) ToClientAuthorizationPermissionOutput() ClientAuthorizationPermissionOutput

func (*ClientAuthorizationPermission) ToClientAuthorizationPermissionOutputWithContext

func (i *ClientAuthorizationPermission) ToClientAuthorizationPermissionOutputWithContext(ctx context.Context) ClientAuthorizationPermissionOutput

type ClientAuthorizationPermissionArgs

type ClientAuthorizationPermissionArgs struct {
	DecisionStrategy pulumi.StringPtrInput
	Description      pulumi.StringPtrInput
	Name             pulumi.StringPtrInput
	Policies         pulumi.StringArrayInput
	RealmId          pulumi.StringInput
	ResourceServerId pulumi.StringInput
	ResourceType     pulumi.StringPtrInput
	Resources        pulumi.StringArrayInput
	Scopes           pulumi.StringArrayInput
	Type             pulumi.StringPtrInput
}

The set of arguments for constructing a ClientAuthorizationPermission resource.

func (ClientAuthorizationPermissionArgs) ElementType

type ClientAuthorizationPermissionArray

type ClientAuthorizationPermissionArray []ClientAuthorizationPermissionInput

func (ClientAuthorizationPermissionArray) ElementType

func (ClientAuthorizationPermissionArray) ToClientAuthorizationPermissionArrayOutput

func (i ClientAuthorizationPermissionArray) ToClientAuthorizationPermissionArrayOutput() ClientAuthorizationPermissionArrayOutput

func (ClientAuthorizationPermissionArray) ToClientAuthorizationPermissionArrayOutputWithContext

func (i ClientAuthorizationPermissionArray) ToClientAuthorizationPermissionArrayOutputWithContext(ctx context.Context) ClientAuthorizationPermissionArrayOutput

type ClientAuthorizationPermissionArrayInput

type ClientAuthorizationPermissionArrayInput interface {
	pulumi.Input

	ToClientAuthorizationPermissionArrayOutput() ClientAuthorizationPermissionArrayOutput
	ToClientAuthorizationPermissionArrayOutputWithContext(context.Context) ClientAuthorizationPermissionArrayOutput
}

ClientAuthorizationPermissionArrayInput is an input type that accepts ClientAuthorizationPermissionArray and ClientAuthorizationPermissionArrayOutput values. You can construct a concrete instance of `ClientAuthorizationPermissionArrayInput` via:

ClientAuthorizationPermissionArray{ ClientAuthorizationPermissionArgs{...} }

type ClientAuthorizationPermissionArrayOutput

type ClientAuthorizationPermissionArrayOutput struct{ *pulumi.OutputState }

func (ClientAuthorizationPermissionArrayOutput) ElementType

func (ClientAuthorizationPermissionArrayOutput) Index

func (ClientAuthorizationPermissionArrayOutput) ToClientAuthorizationPermissionArrayOutput

func (o ClientAuthorizationPermissionArrayOutput) ToClientAuthorizationPermissionArrayOutput() ClientAuthorizationPermissionArrayOutput

func (ClientAuthorizationPermissionArrayOutput) ToClientAuthorizationPermissionArrayOutputWithContext

func (o ClientAuthorizationPermissionArrayOutput) ToClientAuthorizationPermissionArrayOutputWithContext(ctx context.Context) ClientAuthorizationPermissionArrayOutput

type ClientAuthorizationPermissionInput

type ClientAuthorizationPermissionInput interface {
	pulumi.Input

	ToClientAuthorizationPermissionOutput() ClientAuthorizationPermissionOutput
	ToClientAuthorizationPermissionOutputWithContext(ctx context.Context) ClientAuthorizationPermissionOutput
}

type ClientAuthorizationPermissionMap

type ClientAuthorizationPermissionMap map[string]ClientAuthorizationPermissionInput

func (ClientAuthorizationPermissionMap) ElementType

func (ClientAuthorizationPermissionMap) ToClientAuthorizationPermissionMapOutput

func (i ClientAuthorizationPermissionMap) ToClientAuthorizationPermissionMapOutput() ClientAuthorizationPermissionMapOutput

func (ClientAuthorizationPermissionMap) ToClientAuthorizationPermissionMapOutputWithContext

func (i ClientAuthorizationPermissionMap) ToClientAuthorizationPermissionMapOutputWithContext(ctx context.Context) ClientAuthorizationPermissionMapOutput

type ClientAuthorizationPermissionMapInput

type ClientAuthorizationPermissionMapInput interface {
	pulumi.Input

	ToClientAuthorizationPermissionMapOutput() ClientAuthorizationPermissionMapOutput
	ToClientAuthorizationPermissionMapOutputWithContext(context.Context) ClientAuthorizationPermissionMapOutput
}

ClientAuthorizationPermissionMapInput is an input type that accepts ClientAuthorizationPermissionMap and ClientAuthorizationPermissionMapOutput values. You can construct a concrete instance of `ClientAuthorizationPermissionMapInput` via:

ClientAuthorizationPermissionMap{ "key": ClientAuthorizationPermissionArgs{...} }

type ClientAuthorizationPermissionMapOutput

type ClientAuthorizationPermissionMapOutput struct{ *pulumi.OutputState }

func (ClientAuthorizationPermissionMapOutput) ElementType

func (ClientAuthorizationPermissionMapOutput) MapIndex

func (ClientAuthorizationPermissionMapOutput) ToClientAuthorizationPermissionMapOutput

func (o ClientAuthorizationPermissionMapOutput) ToClientAuthorizationPermissionMapOutput() ClientAuthorizationPermissionMapOutput

func (ClientAuthorizationPermissionMapOutput) ToClientAuthorizationPermissionMapOutputWithContext

func (o ClientAuthorizationPermissionMapOutput) ToClientAuthorizationPermissionMapOutputWithContext(ctx context.Context) ClientAuthorizationPermissionMapOutput

type ClientAuthorizationPermissionOutput

type ClientAuthorizationPermissionOutput struct{ *pulumi.OutputState }

func (ClientAuthorizationPermissionOutput) DecisionStrategy

func (ClientAuthorizationPermissionOutput) Description

func (ClientAuthorizationPermissionOutput) ElementType

func (ClientAuthorizationPermissionOutput) Name

func (ClientAuthorizationPermissionOutput) Policies

func (ClientAuthorizationPermissionOutput) RealmId

func (ClientAuthorizationPermissionOutput) ResourceServerId

func (ClientAuthorizationPermissionOutput) ResourceType

func (ClientAuthorizationPermissionOutput) Resources

func (ClientAuthorizationPermissionOutput) Scopes

func (ClientAuthorizationPermissionOutput) ToClientAuthorizationPermissionOutput

func (o ClientAuthorizationPermissionOutput) ToClientAuthorizationPermissionOutput() ClientAuthorizationPermissionOutput

func (ClientAuthorizationPermissionOutput) ToClientAuthorizationPermissionOutputWithContext

func (o ClientAuthorizationPermissionOutput) ToClientAuthorizationPermissionOutputWithContext(ctx context.Context) ClientAuthorizationPermissionOutput

func (ClientAuthorizationPermissionOutput) Type

type ClientAuthorizationPermissionState

type ClientAuthorizationPermissionState struct {
	DecisionStrategy pulumi.StringPtrInput
	Description      pulumi.StringPtrInput
	Name             pulumi.StringPtrInput
	Policies         pulumi.StringArrayInput
	RealmId          pulumi.StringPtrInput
	ResourceServerId pulumi.StringPtrInput
	ResourceType     pulumi.StringPtrInput
	Resources        pulumi.StringArrayInput
	Scopes           pulumi.StringArrayInput
	Type             pulumi.StringPtrInput
}

func (ClientAuthorizationPermissionState) ElementType

type ClientAuthorizationPtrInput

type ClientAuthorizationPtrInput interface {
	pulumi.Input

	ToClientAuthorizationPtrOutput() ClientAuthorizationPtrOutput
	ToClientAuthorizationPtrOutputWithContext(context.Context) ClientAuthorizationPtrOutput
}

ClientAuthorizationPtrInput is an input type that accepts ClientAuthorizationArgs, ClientAuthorizationPtr and ClientAuthorizationPtrOutput values. You can construct a concrete instance of `ClientAuthorizationPtrInput` via:

        ClientAuthorizationArgs{...}

or:

        nil

type ClientAuthorizationPtrOutput

type ClientAuthorizationPtrOutput struct{ *pulumi.OutputState }

func (ClientAuthorizationPtrOutput) AllowRemoteResourceManagement

func (o ClientAuthorizationPtrOutput) AllowRemoteResourceManagement() pulumi.BoolPtrOutput

func (ClientAuthorizationPtrOutput) DecisionStrategy

func (ClientAuthorizationPtrOutput) Elem

func (ClientAuthorizationPtrOutput) ElementType

func (ClientAuthorizationPtrOutput) KeepDefaults

func (ClientAuthorizationPtrOutput) PolicyEnforcementMode

func (o ClientAuthorizationPtrOutput) PolicyEnforcementMode() pulumi.StringPtrOutput

func (ClientAuthorizationPtrOutput) ToClientAuthorizationPtrOutput

func (o ClientAuthorizationPtrOutput) ToClientAuthorizationPtrOutput() ClientAuthorizationPtrOutput

func (ClientAuthorizationPtrOutput) ToClientAuthorizationPtrOutputWithContext

func (o ClientAuthorizationPtrOutput) ToClientAuthorizationPtrOutputWithContext(ctx context.Context) ClientAuthorizationPtrOutput

type ClientAuthorizationResource

type ClientAuthorizationResource struct {
	pulumi.CustomResourceState

	Attributes         pulumi.MapOutput         `pulumi:"attributes"`
	DisplayName        pulumi.StringPtrOutput   `pulumi:"displayName"`
	IconUri            pulumi.StringPtrOutput   `pulumi:"iconUri"`
	Name               pulumi.StringOutput      `pulumi:"name"`
	OwnerManagedAccess pulumi.BoolPtrOutput     `pulumi:"ownerManagedAccess"`
	RealmId            pulumi.StringOutput      `pulumi:"realmId"`
	ResourceServerId   pulumi.StringOutput      `pulumi:"resourceServerId"`
	Scopes             pulumi.StringArrayOutput `pulumi:"scopes"`
	Type               pulumi.StringPtrOutput   `pulumi:"type"`
	Uris               pulumi.StringArrayOutput `pulumi:"uris"`
}

func GetClientAuthorizationResource

func GetClientAuthorizationResource(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ClientAuthorizationResourceState, opts ...pulumi.ResourceOption) (*ClientAuthorizationResource, error)

GetClientAuthorizationResource gets an existing ClientAuthorizationResource 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 NewClientAuthorizationResource

func NewClientAuthorizationResource(ctx *pulumi.Context,
	name string, args *ClientAuthorizationResourceArgs, opts ...pulumi.ResourceOption) (*ClientAuthorizationResource, error)

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

func (*ClientAuthorizationResource) ElementType

func (*ClientAuthorizationResource) ElementType() reflect.Type

func (*ClientAuthorizationResource) ToClientAuthorizationResourceOutput

func (i *ClientAuthorizationResource) ToClientAuthorizationResourceOutput() ClientAuthorizationResourceOutput

func (*ClientAuthorizationResource) ToClientAuthorizationResourceOutputWithContext

func (i *ClientAuthorizationResource) ToClientAuthorizationResourceOutputWithContext(ctx context.Context) ClientAuthorizationResourceOutput

type ClientAuthorizationResourceArgs

type ClientAuthorizationResourceArgs struct {
	Attributes         pulumi.MapInput
	DisplayName        pulumi.StringPtrInput
	IconUri            pulumi.StringPtrInput
	Name               pulumi.StringPtrInput
	OwnerManagedAccess pulumi.BoolPtrInput
	RealmId            pulumi.StringInput
	ResourceServerId   pulumi.StringInput
	Scopes             pulumi.StringArrayInput
	Type               pulumi.StringPtrInput
	Uris               pulumi.StringArrayInput
}

The set of arguments for constructing a ClientAuthorizationResource resource.

func (ClientAuthorizationResourceArgs) ElementType

type ClientAuthorizationResourceArray

type ClientAuthorizationResourceArray []ClientAuthorizationResourceInput

func (ClientAuthorizationResourceArray) ElementType

func (ClientAuthorizationResourceArray) ToClientAuthorizationResourceArrayOutput

func (i ClientAuthorizationResourceArray) ToClientAuthorizationResourceArrayOutput() ClientAuthorizationResourceArrayOutput

func (ClientAuthorizationResourceArray) ToClientAuthorizationResourceArrayOutputWithContext

func (i ClientAuthorizationResourceArray) ToClientAuthorizationResourceArrayOutputWithContext(ctx context.Context) ClientAuthorizationResourceArrayOutput

type ClientAuthorizationResourceArrayInput

type ClientAuthorizationResourceArrayInput interface {
	pulumi.Input

	ToClientAuthorizationResourceArrayOutput() ClientAuthorizationResourceArrayOutput
	ToClientAuthorizationResourceArrayOutputWithContext(context.Context) ClientAuthorizationResourceArrayOutput
}

ClientAuthorizationResourceArrayInput is an input type that accepts ClientAuthorizationResourceArray and ClientAuthorizationResourceArrayOutput values. You can construct a concrete instance of `ClientAuthorizationResourceArrayInput` via:

ClientAuthorizationResourceArray{ ClientAuthorizationResourceArgs{...} }

type ClientAuthorizationResourceArrayOutput

type ClientAuthorizationResourceArrayOutput struct{ *pulumi.OutputState }

func (ClientAuthorizationResourceArrayOutput) ElementType

func (ClientAuthorizationResourceArrayOutput) Index

func (ClientAuthorizationResourceArrayOutput) ToClientAuthorizationResourceArrayOutput

func (o ClientAuthorizationResourceArrayOutput) ToClientAuthorizationResourceArrayOutput() ClientAuthorizationResourceArrayOutput

func (ClientAuthorizationResourceArrayOutput) ToClientAuthorizationResourceArrayOutputWithContext

func (o ClientAuthorizationResourceArrayOutput) ToClientAuthorizationResourceArrayOutputWithContext(ctx context.Context) ClientAuthorizationResourceArrayOutput

type ClientAuthorizationResourceInput

type ClientAuthorizationResourceInput interface {
	pulumi.Input

	ToClientAuthorizationResourceOutput() ClientAuthorizationResourceOutput
	ToClientAuthorizationResourceOutputWithContext(ctx context.Context) ClientAuthorizationResourceOutput
}

type ClientAuthorizationResourceMap

type ClientAuthorizationResourceMap map[string]ClientAuthorizationResourceInput

func (ClientAuthorizationResourceMap) ElementType

func (ClientAuthorizationResourceMap) ToClientAuthorizationResourceMapOutput

func (i ClientAuthorizationResourceMap) ToClientAuthorizationResourceMapOutput() ClientAuthorizationResourceMapOutput

func (ClientAuthorizationResourceMap) ToClientAuthorizationResourceMapOutputWithContext

func (i ClientAuthorizationResourceMap) ToClientAuthorizationResourceMapOutputWithContext(ctx context.Context) ClientAuthorizationResourceMapOutput

type ClientAuthorizationResourceMapInput

type ClientAuthorizationResourceMapInput interface {
	pulumi.Input

	ToClientAuthorizationResourceMapOutput() ClientAuthorizationResourceMapOutput
	ToClientAuthorizationResourceMapOutputWithContext(context.Context) ClientAuthorizationResourceMapOutput
}

ClientAuthorizationResourceMapInput is an input type that accepts ClientAuthorizationResourceMap and ClientAuthorizationResourceMapOutput values. You can construct a concrete instance of `ClientAuthorizationResourceMapInput` via:

ClientAuthorizationResourceMap{ "key": ClientAuthorizationResourceArgs{...} }

type ClientAuthorizationResourceMapOutput

type ClientAuthorizationResourceMapOutput struct{ *pulumi.OutputState }

func (ClientAuthorizationResourceMapOutput) ElementType

func (ClientAuthorizationResourceMapOutput) MapIndex

func (ClientAuthorizationResourceMapOutput) ToClientAuthorizationResourceMapOutput

func (o ClientAuthorizationResourceMapOutput) ToClientAuthorizationResourceMapOutput() ClientAuthorizationResourceMapOutput

func (ClientAuthorizationResourceMapOutput) ToClientAuthorizationResourceMapOutputWithContext

func (o ClientAuthorizationResourceMapOutput) ToClientAuthorizationResourceMapOutputWithContext(ctx context.Context) ClientAuthorizationResourceMapOutput

type ClientAuthorizationResourceOutput

type ClientAuthorizationResourceOutput struct{ *pulumi.OutputState }

func (ClientAuthorizationResourceOutput) Attributes

func (ClientAuthorizationResourceOutput) DisplayName

func (ClientAuthorizationResourceOutput) ElementType

func (ClientAuthorizationResourceOutput) IconUri

func (ClientAuthorizationResourceOutput) Name

func (ClientAuthorizationResourceOutput) OwnerManagedAccess

func (ClientAuthorizationResourceOutput) RealmId

func (ClientAuthorizationResourceOutput) ResourceServerId

func (ClientAuthorizationResourceOutput) Scopes

func (ClientAuthorizationResourceOutput) ToClientAuthorizationResourceOutput

func (o ClientAuthorizationResourceOutput) ToClientAuthorizationResourceOutput() ClientAuthorizationResourceOutput

func (ClientAuthorizationResourceOutput) ToClientAuthorizationResourceOutputWithContext

func (o ClientAuthorizationResourceOutput) ToClientAuthorizationResourceOutputWithContext(ctx context.Context) ClientAuthorizationResourceOutput

func (ClientAuthorizationResourceOutput) Type

func (ClientAuthorizationResourceOutput) Uris

type ClientAuthorizationResourceState

type ClientAuthorizationResourceState struct {
	Attributes         pulumi.MapInput
	DisplayName        pulumi.StringPtrInput
	IconUri            pulumi.StringPtrInput
	Name               pulumi.StringPtrInput
	OwnerManagedAccess pulumi.BoolPtrInput
	RealmId            pulumi.StringPtrInput
	ResourceServerId   pulumi.StringPtrInput
	Scopes             pulumi.StringArrayInput
	Type               pulumi.StringPtrInput
	Uris               pulumi.StringArrayInput
}

func (ClientAuthorizationResourceState) ElementType

type ClientAuthorizationScope

type ClientAuthorizationScope struct {
	pulumi.CustomResourceState

	DisplayName      pulumi.StringPtrOutput `pulumi:"displayName"`
	IconUri          pulumi.StringPtrOutput `pulumi:"iconUri"`
	Name             pulumi.StringOutput    `pulumi:"name"`
	RealmId          pulumi.StringOutput    `pulumi:"realmId"`
	ResourceServerId pulumi.StringOutput    `pulumi:"resourceServerId"`
}

func GetClientAuthorizationScope

func GetClientAuthorizationScope(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ClientAuthorizationScopeState, opts ...pulumi.ResourceOption) (*ClientAuthorizationScope, error)

GetClientAuthorizationScope gets an existing ClientAuthorizationScope 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 NewClientAuthorizationScope

func NewClientAuthorizationScope(ctx *pulumi.Context,
	name string, args *ClientAuthorizationScopeArgs, opts ...pulumi.ResourceOption) (*ClientAuthorizationScope, error)

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

func (*ClientAuthorizationScope) ElementType

func (*ClientAuthorizationScope) ElementType() reflect.Type

func (*ClientAuthorizationScope) ToClientAuthorizationScopeOutput

func (i *ClientAuthorizationScope) ToClientAuthorizationScopeOutput() ClientAuthorizationScopeOutput

func (*ClientAuthorizationScope) ToClientAuthorizationScopeOutputWithContext

func (i *ClientAuthorizationScope) ToClientAuthorizationScopeOutputWithContext(ctx context.Context) ClientAuthorizationScopeOutput

type ClientAuthorizationScopeArgs

type ClientAuthorizationScopeArgs struct {
	DisplayName      pulumi.StringPtrInput
	IconUri          pulumi.StringPtrInput
	Name             pulumi.StringPtrInput
	RealmId          pulumi.StringInput
	ResourceServerId pulumi.StringInput
}

The set of arguments for constructing a ClientAuthorizationScope resource.

func (ClientAuthorizationScopeArgs) ElementType

type ClientAuthorizationScopeArray

type ClientAuthorizationScopeArray []ClientAuthorizationScopeInput

func (ClientAuthorizationScopeArray) ElementType

func (ClientAuthorizationScopeArray) ToClientAuthorizationScopeArrayOutput

func (i ClientAuthorizationScopeArray) ToClientAuthorizationScopeArrayOutput() ClientAuthorizationScopeArrayOutput

func (ClientAuthorizationScopeArray) ToClientAuthorizationScopeArrayOutputWithContext

func (i ClientAuthorizationScopeArray) ToClientAuthorizationScopeArrayOutputWithContext(ctx context.Context) ClientAuthorizationScopeArrayOutput

type ClientAuthorizationScopeArrayInput

type ClientAuthorizationScopeArrayInput interface {
	pulumi.Input

	ToClientAuthorizationScopeArrayOutput() ClientAuthorizationScopeArrayOutput
	ToClientAuthorizationScopeArrayOutputWithContext(context.Context) ClientAuthorizationScopeArrayOutput
}

ClientAuthorizationScopeArrayInput is an input type that accepts ClientAuthorizationScopeArray and ClientAuthorizationScopeArrayOutput values. You can construct a concrete instance of `ClientAuthorizationScopeArrayInput` via:

ClientAuthorizationScopeArray{ ClientAuthorizationScopeArgs{...} }

type ClientAuthorizationScopeArrayOutput

type ClientAuthorizationScopeArrayOutput struct{ *pulumi.OutputState }

func (ClientAuthorizationScopeArrayOutput) ElementType

func (ClientAuthorizationScopeArrayOutput) Index

func (ClientAuthorizationScopeArrayOutput) ToClientAuthorizationScopeArrayOutput

func (o ClientAuthorizationScopeArrayOutput) ToClientAuthorizationScopeArrayOutput() ClientAuthorizationScopeArrayOutput

func (ClientAuthorizationScopeArrayOutput) ToClientAuthorizationScopeArrayOutputWithContext

func (o ClientAuthorizationScopeArrayOutput) ToClientAuthorizationScopeArrayOutputWithContext(ctx context.Context) ClientAuthorizationScopeArrayOutput

type ClientAuthorizationScopeInput

type ClientAuthorizationScopeInput interface {
	pulumi.Input

	ToClientAuthorizationScopeOutput() ClientAuthorizationScopeOutput
	ToClientAuthorizationScopeOutputWithContext(ctx context.Context) ClientAuthorizationScopeOutput
}

type ClientAuthorizationScopeMap

type ClientAuthorizationScopeMap map[string]ClientAuthorizationScopeInput

func (ClientAuthorizationScopeMap) ElementType

func (ClientAuthorizationScopeMap) ToClientAuthorizationScopeMapOutput

func (i ClientAuthorizationScopeMap) ToClientAuthorizationScopeMapOutput() ClientAuthorizationScopeMapOutput

func (ClientAuthorizationScopeMap) ToClientAuthorizationScopeMapOutputWithContext

func (i ClientAuthorizationScopeMap) ToClientAuthorizationScopeMapOutputWithContext(ctx context.Context) ClientAuthorizationScopeMapOutput

type ClientAuthorizationScopeMapInput

type ClientAuthorizationScopeMapInput interface {
	pulumi.Input

	ToClientAuthorizationScopeMapOutput() ClientAuthorizationScopeMapOutput
	ToClientAuthorizationScopeMapOutputWithContext(context.Context) ClientAuthorizationScopeMapOutput
}

ClientAuthorizationScopeMapInput is an input type that accepts ClientAuthorizationScopeMap and ClientAuthorizationScopeMapOutput values. You can construct a concrete instance of `ClientAuthorizationScopeMapInput` via:

ClientAuthorizationScopeMap{ "key": ClientAuthorizationScopeArgs{...} }

type ClientAuthorizationScopeMapOutput

type ClientAuthorizationScopeMapOutput struct{ *pulumi.OutputState }

func (ClientAuthorizationScopeMapOutput) ElementType

func (ClientAuthorizationScopeMapOutput) MapIndex

func (ClientAuthorizationScopeMapOutput) ToClientAuthorizationScopeMapOutput

func (o ClientAuthorizationScopeMapOutput) ToClientAuthorizationScopeMapOutput() ClientAuthorizationScopeMapOutput

func (ClientAuthorizationScopeMapOutput) ToClientAuthorizationScopeMapOutputWithContext

func (o ClientAuthorizationScopeMapOutput) ToClientAuthorizationScopeMapOutputWithContext(ctx context.Context) ClientAuthorizationScopeMapOutput

type ClientAuthorizationScopeOutput

type ClientAuthorizationScopeOutput struct{ *pulumi.OutputState }

func (ClientAuthorizationScopeOutput) DisplayName

func (ClientAuthorizationScopeOutput) ElementType

func (ClientAuthorizationScopeOutput) IconUri

func (ClientAuthorizationScopeOutput) Name

func (ClientAuthorizationScopeOutput) RealmId

func (ClientAuthorizationScopeOutput) ResourceServerId

func (o ClientAuthorizationScopeOutput) ResourceServerId() pulumi.StringOutput

func (ClientAuthorizationScopeOutput) ToClientAuthorizationScopeOutput

func (o ClientAuthorizationScopeOutput) ToClientAuthorizationScopeOutput() ClientAuthorizationScopeOutput

func (ClientAuthorizationScopeOutput) ToClientAuthorizationScopeOutputWithContext

func (o ClientAuthorizationScopeOutput) ToClientAuthorizationScopeOutputWithContext(ctx context.Context) ClientAuthorizationScopeOutput

type ClientAuthorizationScopeState

type ClientAuthorizationScopeState struct {
	DisplayName      pulumi.StringPtrInput
	IconUri          pulumi.StringPtrInput
	Name             pulumi.StringPtrInput
	RealmId          pulumi.StringPtrInput
	ResourceServerId pulumi.StringPtrInput
}

func (ClientAuthorizationScopeState) ElementType

type ClientDefaultScopes

type ClientDefaultScopes struct {
	pulumi.CustomResourceState

	ClientId      pulumi.StringOutput      `pulumi:"clientId"`
	DefaultScopes pulumi.StringArrayOutput `pulumi:"defaultScopes"`
	RealmId       pulumi.StringOutput      `pulumi:"realmId"`
}

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak"
"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak/openid"
"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{
			Enabled: pulumi.Bool(true),
			Realm:   pulumi.String("my-realm"),
		})
		if err != nil {
			return err
		}
		client, err := openid.NewClient(ctx, "client", &openid.ClientArgs{
			AccessType: pulumi.String("CONFIDENTIAL"),
			ClientId:   pulumi.String("test-client"),
			RealmId:    realm.ID(),
		})
		if err != nil {
			return err
		}
		clientScope, err := openid.NewClientScope(ctx, "clientScope", &openid.ClientScopeArgs{
			RealmId: realm.ID(),
		})
		if err != nil {
			return err
		}
		_, err = openid.NewClientDefaultScopes(ctx, "clientDefaultScopes", &openid.ClientDefaultScopesArgs{
			ClientId: client.ID(),
			DefaultScopes: pulumi.StringArray{
				pulumi.String("profile"),
				pulumi.String("email"),
				pulumi.String("roles"),
				pulumi.String("web-origins"),
				clientScope.Name,
			},
			RealmId: realm.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

### Argument Reference

The following arguments are supported:

- `realmId` - (Required) The realm this client and scopes exists in. - `clientId` - (Required) The ID of the client to attach default scopes to. Note that this is the unique ID of the client generated by Keycloak. - `defaultScopes` - (Required) An array of client scope names to attach to this client.

### Import

This resource does not support import. Instead of importing, feel free to create this resource as if it did not already exist on the server.

func GetClientDefaultScopes

func GetClientDefaultScopes(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ClientDefaultScopesState, opts ...pulumi.ResourceOption) (*ClientDefaultScopes, error)

GetClientDefaultScopes gets an existing ClientDefaultScopes 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 NewClientDefaultScopes

func NewClientDefaultScopes(ctx *pulumi.Context,
	name string, args *ClientDefaultScopesArgs, opts ...pulumi.ResourceOption) (*ClientDefaultScopes, error)

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

func (*ClientDefaultScopes) ElementType

func (*ClientDefaultScopes) ElementType() reflect.Type

func (*ClientDefaultScopes) ToClientDefaultScopesOutput

func (i *ClientDefaultScopes) ToClientDefaultScopesOutput() ClientDefaultScopesOutput

func (*ClientDefaultScopes) ToClientDefaultScopesOutputWithContext

func (i *ClientDefaultScopes) ToClientDefaultScopesOutputWithContext(ctx context.Context) ClientDefaultScopesOutput

type ClientDefaultScopesArgs

type ClientDefaultScopesArgs struct {
	ClientId      pulumi.StringInput
	DefaultScopes pulumi.StringArrayInput
	RealmId       pulumi.StringInput
}

The set of arguments for constructing a ClientDefaultScopes resource.

func (ClientDefaultScopesArgs) ElementType

func (ClientDefaultScopesArgs) ElementType() reflect.Type

type ClientDefaultScopesArray

type ClientDefaultScopesArray []ClientDefaultScopesInput

func (ClientDefaultScopesArray) ElementType

func (ClientDefaultScopesArray) ElementType() reflect.Type

func (ClientDefaultScopesArray) ToClientDefaultScopesArrayOutput

func (i ClientDefaultScopesArray) ToClientDefaultScopesArrayOutput() ClientDefaultScopesArrayOutput

func (ClientDefaultScopesArray) ToClientDefaultScopesArrayOutputWithContext

func (i ClientDefaultScopesArray) ToClientDefaultScopesArrayOutputWithContext(ctx context.Context) ClientDefaultScopesArrayOutput

type ClientDefaultScopesArrayInput

type ClientDefaultScopesArrayInput interface {
	pulumi.Input

	ToClientDefaultScopesArrayOutput() ClientDefaultScopesArrayOutput
	ToClientDefaultScopesArrayOutputWithContext(context.Context) ClientDefaultScopesArrayOutput
}

ClientDefaultScopesArrayInput is an input type that accepts ClientDefaultScopesArray and ClientDefaultScopesArrayOutput values. You can construct a concrete instance of `ClientDefaultScopesArrayInput` via:

ClientDefaultScopesArray{ ClientDefaultScopesArgs{...} }

type ClientDefaultScopesArrayOutput

type ClientDefaultScopesArrayOutput struct{ *pulumi.OutputState }

func (ClientDefaultScopesArrayOutput) ElementType

func (ClientDefaultScopesArrayOutput) Index

func (ClientDefaultScopesArrayOutput) ToClientDefaultScopesArrayOutput

func (o ClientDefaultScopesArrayOutput) ToClientDefaultScopesArrayOutput() ClientDefaultScopesArrayOutput

func (ClientDefaultScopesArrayOutput) ToClientDefaultScopesArrayOutputWithContext

func (o ClientDefaultScopesArrayOutput) ToClientDefaultScopesArrayOutputWithContext(ctx context.Context) ClientDefaultScopesArrayOutput

type ClientDefaultScopesInput

type ClientDefaultScopesInput interface {
	pulumi.Input

	ToClientDefaultScopesOutput() ClientDefaultScopesOutput
	ToClientDefaultScopesOutputWithContext(ctx context.Context) ClientDefaultScopesOutput
}

type ClientDefaultScopesMap

type ClientDefaultScopesMap map[string]ClientDefaultScopesInput

func (ClientDefaultScopesMap) ElementType

func (ClientDefaultScopesMap) ElementType() reflect.Type

func (ClientDefaultScopesMap) ToClientDefaultScopesMapOutput

func (i ClientDefaultScopesMap) ToClientDefaultScopesMapOutput() ClientDefaultScopesMapOutput

func (ClientDefaultScopesMap) ToClientDefaultScopesMapOutputWithContext

func (i ClientDefaultScopesMap) ToClientDefaultScopesMapOutputWithContext(ctx context.Context) ClientDefaultScopesMapOutput

type ClientDefaultScopesMapInput

type ClientDefaultScopesMapInput interface {
	pulumi.Input

	ToClientDefaultScopesMapOutput() ClientDefaultScopesMapOutput
	ToClientDefaultScopesMapOutputWithContext(context.Context) ClientDefaultScopesMapOutput
}

ClientDefaultScopesMapInput is an input type that accepts ClientDefaultScopesMap and ClientDefaultScopesMapOutput values. You can construct a concrete instance of `ClientDefaultScopesMapInput` via:

ClientDefaultScopesMap{ "key": ClientDefaultScopesArgs{...} }

type ClientDefaultScopesMapOutput

type ClientDefaultScopesMapOutput struct{ *pulumi.OutputState }

func (ClientDefaultScopesMapOutput) ElementType

func (ClientDefaultScopesMapOutput) MapIndex

func (ClientDefaultScopesMapOutput) ToClientDefaultScopesMapOutput

func (o ClientDefaultScopesMapOutput) ToClientDefaultScopesMapOutput() ClientDefaultScopesMapOutput

func (ClientDefaultScopesMapOutput) ToClientDefaultScopesMapOutputWithContext

func (o ClientDefaultScopesMapOutput) ToClientDefaultScopesMapOutputWithContext(ctx context.Context) ClientDefaultScopesMapOutput

type ClientDefaultScopesOutput

type ClientDefaultScopesOutput struct{ *pulumi.OutputState }

func (ClientDefaultScopesOutput) ClientId

func (ClientDefaultScopesOutput) DefaultScopes

func (ClientDefaultScopesOutput) ElementType

func (ClientDefaultScopesOutput) ElementType() reflect.Type

func (ClientDefaultScopesOutput) RealmId

func (ClientDefaultScopesOutput) ToClientDefaultScopesOutput

func (o ClientDefaultScopesOutput) ToClientDefaultScopesOutput() ClientDefaultScopesOutput

func (ClientDefaultScopesOutput) ToClientDefaultScopesOutputWithContext

func (o ClientDefaultScopesOutput) ToClientDefaultScopesOutputWithContext(ctx context.Context) ClientDefaultScopesOutput

type ClientDefaultScopesState

type ClientDefaultScopesState struct {
	ClientId      pulumi.StringPtrInput
	DefaultScopes pulumi.StringArrayInput
	RealmId       pulumi.StringPtrInput
}

func (ClientDefaultScopesState) ElementType

func (ClientDefaultScopesState) ElementType() reflect.Type

type ClientGroupPolicy

type ClientGroupPolicy struct {
	pulumi.CustomResourceState

	DecisionStrategy pulumi.StringOutput               `pulumi:"decisionStrategy"`
	Description      pulumi.StringPtrOutput            `pulumi:"description"`
	Groups           ClientGroupPolicyGroupArrayOutput `pulumi:"groups"`
	GroupsClaim      pulumi.StringPtrOutput            `pulumi:"groupsClaim"`
	Logic            pulumi.StringPtrOutput            `pulumi:"logic"`
	Name             pulumi.StringOutput               `pulumi:"name"`
	RealmId          pulumi.StringOutput               `pulumi:"realmId"`
	ResourceServerId pulumi.StringOutput               `pulumi:"resourceServerId"`
}

func GetClientGroupPolicy

func GetClientGroupPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ClientGroupPolicyState, opts ...pulumi.ResourceOption) (*ClientGroupPolicy, error)

GetClientGroupPolicy gets an existing ClientGroupPolicy 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 NewClientGroupPolicy

func NewClientGroupPolicy(ctx *pulumi.Context,
	name string, args *ClientGroupPolicyArgs, opts ...pulumi.ResourceOption) (*ClientGroupPolicy, error)

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

func (*ClientGroupPolicy) ElementType

func (*ClientGroupPolicy) ElementType() reflect.Type

func (*ClientGroupPolicy) ToClientGroupPolicyOutput

func (i *ClientGroupPolicy) ToClientGroupPolicyOutput() ClientGroupPolicyOutput

func (*ClientGroupPolicy) ToClientGroupPolicyOutputWithContext

func (i *ClientGroupPolicy) ToClientGroupPolicyOutputWithContext(ctx context.Context) ClientGroupPolicyOutput

type ClientGroupPolicyArgs

type ClientGroupPolicyArgs struct {
	DecisionStrategy pulumi.StringInput
	Description      pulumi.StringPtrInput
	Groups           ClientGroupPolicyGroupArrayInput
	GroupsClaim      pulumi.StringPtrInput
	Logic            pulumi.StringPtrInput
	Name             pulumi.StringPtrInput
	RealmId          pulumi.StringInput
	ResourceServerId pulumi.StringInput
}

The set of arguments for constructing a ClientGroupPolicy resource.

func (ClientGroupPolicyArgs) ElementType

func (ClientGroupPolicyArgs) ElementType() reflect.Type

type ClientGroupPolicyArray

type ClientGroupPolicyArray []ClientGroupPolicyInput

func (ClientGroupPolicyArray) ElementType

func (ClientGroupPolicyArray) ElementType() reflect.Type

func (ClientGroupPolicyArray) ToClientGroupPolicyArrayOutput

func (i ClientGroupPolicyArray) ToClientGroupPolicyArrayOutput() ClientGroupPolicyArrayOutput

func (ClientGroupPolicyArray) ToClientGroupPolicyArrayOutputWithContext

func (i ClientGroupPolicyArray) ToClientGroupPolicyArrayOutputWithContext(ctx context.Context) ClientGroupPolicyArrayOutput

type ClientGroupPolicyArrayInput

type ClientGroupPolicyArrayInput interface {
	pulumi.Input

	ToClientGroupPolicyArrayOutput() ClientGroupPolicyArrayOutput
	ToClientGroupPolicyArrayOutputWithContext(context.Context) ClientGroupPolicyArrayOutput
}

ClientGroupPolicyArrayInput is an input type that accepts ClientGroupPolicyArray and ClientGroupPolicyArrayOutput values. You can construct a concrete instance of `ClientGroupPolicyArrayInput` via:

ClientGroupPolicyArray{ ClientGroupPolicyArgs{...} }

type ClientGroupPolicyArrayOutput

type ClientGroupPolicyArrayOutput struct{ *pulumi.OutputState }

func (ClientGroupPolicyArrayOutput) ElementType

func (ClientGroupPolicyArrayOutput) Index

func (ClientGroupPolicyArrayOutput) ToClientGroupPolicyArrayOutput

func (o ClientGroupPolicyArrayOutput) ToClientGroupPolicyArrayOutput() ClientGroupPolicyArrayOutput

func (ClientGroupPolicyArrayOutput) ToClientGroupPolicyArrayOutputWithContext

func (o ClientGroupPolicyArrayOutput) ToClientGroupPolicyArrayOutputWithContext(ctx context.Context) ClientGroupPolicyArrayOutput

type ClientGroupPolicyGroup

type ClientGroupPolicyGroup struct {
	ExtendChildren bool   `pulumi:"extendChildren"`
	Id             string `pulumi:"id"`
	Path           string `pulumi:"path"`
}

type ClientGroupPolicyGroupArgs

type ClientGroupPolicyGroupArgs struct {
	ExtendChildren pulumi.BoolInput   `pulumi:"extendChildren"`
	Id             pulumi.StringInput `pulumi:"id"`
	Path           pulumi.StringInput `pulumi:"path"`
}

func (ClientGroupPolicyGroupArgs) ElementType

func (ClientGroupPolicyGroupArgs) ElementType() reflect.Type

func (ClientGroupPolicyGroupArgs) ToClientGroupPolicyGroupOutput

func (i ClientGroupPolicyGroupArgs) ToClientGroupPolicyGroupOutput() ClientGroupPolicyGroupOutput

func (ClientGroupPolicyGroupArgs) ToClientGroupPolicyGroupOutputWithContext

func (i ClientGroupPolicyGroupArgs) ToClientGroupPolicyGroupOutputWithContext(ctx context.Context) ClientGroupPolicyGroupOutput

type ClientGroupPolicyGroupArray

type ClientGroupPolicyGroupArray []ClientGroupPolicyGroupInput

func (ClientGroupPolicyGroupArray) ElementType

func (ClientGroupPolicyGroupArray) ToClientGroupPolicyGroupArrayOutput

func (i ClientGroupPolicyGroupArray) ToClientGroupPolicyGroupArrayOutput() ClientGroupPolicyGroupArrayOutput

func (ClientGroupPolicyGroupArray) ToClientGroupPolicyGroupArrayOutputWithContext

func (i ClientGroupPolicyGroupArray) ToClientGroupPolicyGroupArrayOutputWithContext(ctx context.Context) ClientGroupPolicyGroupArrayOutput

type ClientGroupPolicyGroupArrayInput

type ClientGroupPolicyGroupArrayInput interface {
	pulumi.Input

	ToClientGroupPolicyGroupArrayOutput() ClientGroupPolicyGroupArrayOutput
	ToClientGroupPolicyGroupArrayOutputWithContext(context.Context) ClientGroupPolicyGroupArrayOutput
}

ClientGroupPolicyGroupArrayInput is an input type that accepts ClientGroupPolicyGroupArray and ClientGroupPolicyGroupArrayOutput values. You can construct a concrete instance of `ClientGroupPolicyGroupArrayInput` via:

ClientGroupPolicyGroupArray{ ClientGroupPolicyGroupArgs{...} }

type ClientGroupPolicyGroupArrayOutput

type ClientGroupPolicyGroupArrayOutput struct{ *pulumi.OutputState }

func (ClientGroupPolicyGroupArrayOutput) ElementType

func (ClientGroupPolicyGroupArrayOutput) Index

func (ClientGroupPolicyGroupArrayOutput) ToClientGroupPolicyGroupArrayOutput

func (o ClientGroupPolicyGroupArrayOutput) ToClientGroupPolicyGroupArrayOutput() ClientGroupPolicyGroupArrayOutput

func (ClientGroupPolicyGroupArrayOutput) ToClientGroupPolicyGroupArrayOutputWithContext

func (o ClientGroupPolicyGroupArrayOutput) ToClientGroupPolicyGroupArrayOutputWithContext(ctx context.Context) ClientGroupPolicyGroupArrayOutput

type ClientGroupPolicyGroupInput

type ClientGroupPolicyGroupInput interface {
	pulumi.Input

	ToClientGroupPolicyGroupOutput() ClientGroupPolicyGroupOutput
	ToClientGroupPolicyGroupOutputWithContext(context.Context) ClientGroupPolicyGroupOutput
}

ClientGroupPolicyGroupInput is an input type that accepts ClientGroupPolicyGroupArgs and ClientGroupPolicyGroupOutput values. You can construct a concrete instance of `ClientGroupPolicyGroupInput` via:

ClientGroupPolicyGroupArgs{...}

type ClientGroupPolicyGroupOutput

type ClientGroupPolicyGroupOutput struct{ *pulumi.OutputState }

func (ClientGroupPolicyGroupOutput) ElementType

func (ClientGroupPolicyGroupOutput) ExtendChildren

func (o ClientGroupPolicyGroupOutput) ExtendChildren() pulumi.BoolOutput

func (ClientGroupPolicyGroupOutput) Id

func (ClientGroupPolicyGroupOutput) Path

func (ClientGroupPolicyGroupOutput) ToClientGroupPolicyGroupOutput

func (o ClientGroupPolicyGroupOutput) ToClientGroupPolicyGroupOutput() ClientGroupPolicyGroupOutput

func (ClientGroupPolicyGroupOutput) ToClientGroupPolicyGroupOutputWithContext

func (o ClientGroupPolicyGroupOutput) ToClientGroupPolicyGroupOutputWithContext(ctx context.Context) ClientGroupPolicyGroupOutput

type ClientGroupPolicyInput

type ClientGroupPolicyInput interface {
	pulumi.Input

	ToClientGroupPolicyOutput() ClientGroupPolicyOutput
	ToClientGroupPolicyOutputWithContext(ctx context.Context) ClientGroupPolicyOutput
}

type ClientGroupPolicyMap

type ClientGroupPolicyMap map[string]ClientGroupPolicyInput

func (ClientGroupPolicyMap) ElementType

func (ClientGroupPolicyMap) ElementType() reflect.Type

func (ClientGroupPolicyMap) ToClientGroupPolicyMapOutput

func (i ClientGroupPolicyMap) ToClientGroupPolicyMapOutput() ClientGroupPolicyMapOutput

func (ClientGroupPolicyMap) ToClientGroupPolicyMapOutputWithContext

func (i ClientGroupPolicyMap) ToClientGroupPolicyMapOutputWithContext(ctx context.Context) ClientGroupPolicyMapOutput

type ClientGroupPolicyMapInput

type ClientGroupPolicyMapInput interface {
	pulumi.Input

	ToClientGroupPolicyMapOutput() ClientGroupPolicyMapOutput
	ToClientGroupPolicyMapOutputWithContext(context.Context) ClientGroupPolicyMapOutput
}

ClientGroupPolicyMapInput is an input type that accepts ClientGroupPolicyMap and ClientGroupPolicyMapOutput values. You can construct a concrete instance of `ClientGroupPolicyMapInput` via:

ClientGroupPolicyMap{ "key": ClientGroupPolicyArgs{...} }

type ClientGroupPolicyMapOutput

type ClientGroupPolicyMapOutput struct{ *pulumi.OutputState }

func (ClientGroupPolicyMapOutput) ElementType

func (ClientGroupPolicyMapOutput) ElementType() reflect.Type

func (ClientGroupPolicyMapOutput) MapIndex

func (ClientGroupPolicyMapOutput) ToClientGroupPolicyMapOutput

func (o ClientGroupPolicyMapOutput) ToClientGroupPolicyMapOutput() ClientGroupPolicyMapOutput

func (ClientGroupPolicyMapOutput) ToClientGroupPolicyMapOutputWithContext

func (o ClientGroupPolicyMapOutput) ToClientGroupPolicyMapOutputWithContext(ctx context.Context) ClientGroupPolicyMapOutput

type ClientGroupPolicyOutput

type ClientGroupPolicyOutput struct{ *pulumi.OutputState }

func (ClientGroupPolicyOutput) DecisionStrategy

func (o ClientGroupPolicyOutput) DecisionStrategy() pulumi.StringOutput

func (ClientGroupPolicyOutput) Description

func (ClientGroupPolicyOutput) ElementType

func (ClientGroupPolicyOutput) ElementType() reflect.Type

func (ClientGroupPolicyOutput) Groups

func (ClientGroupPolicyOutput) GroupsClaim

func (ClientGroupPolicyOutput) Logic

func (ClientGroupPolicyOutput) Name

func (ClientGroupPolicyOutput) RealmId

func (ClientGroupPolicyOutput) ResourceServerId

func (o ClientGroupPolicyOutput) ResourceServerId() pulumi.StringOutput

func (ClientGroupPolicyOutput) ToClientGroupPolicyOutput

func (o ClientGroupPolicyOutput) ToClientGroupPolicyOutput() ClientGroupPolicyOutput

func (ClientGroupPolicyOutput) ToClientGroupPolicyOutputWithContext

func (o ClientGroupPolicyOutput) ToClientGroupPolicyOutputWithContext(ctx context.Context) ClientGroupPolicyOutput

type ClientGroupPolicyState

type ClientGroupPolicyState struct {
	DecisionStrategy pulumi.StringPtrInput
	Description      pulumi.StringPtrInput
	Groups           ClientGroupPolicyGroupArrayInput
	GroupsClaim      pulumi.StringPtrInput
	Logic            pulumi.StringPtrInput
	Name             pulumi.StringPtrInput
	RealmId          pulumi.StringPtrInput
	ResourceServerId pulumi.StringPtrInput
}

func (ClientGroupPolicyState) ElementType

func (ClientGroupPolicyState) ElementType() reflect.Type

type ClientInput

type ClientInput interface {
	pulumi.Input

	ToClientOutput() ClientOutput
	ToClientOutputWithContext(ctx context.Context) ClientOutput
}

type ClientJsPolicy

type ClientJsPolicy struct {
	pulumi.CustomResourceState

	Code             pulumi.StringOutput    `pulumi:"code"`
	DecisionStrategy pulumi.StringOutput    `pulumi:"decisionStrategy"`
	Description      pulumi.StringPtrOutput `pulumi:"description"`
	Logic            pulumi.StringPtrOutput `pulumi:"logic"`
	Name             pulumi.StringOutput    `pulumi:"name"`
	RealmId          pulumi.StringOutput    `pulumi:"realmId"`
	ResourceServerId pulumi.StringOutput    `pulumi:"resourceServerId"`
	Type             pulumi.StringPtrOutput `pulumi:"type"`
}

func GetClientJsPolicy

func GetClientJsPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ClientJsPolicyState, opts ...pulumi.ResourceOption) (*ClientJsPolicy, error)

GetClientJsPolicy gets an existing ClientJsPolicy 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 NewClientJsPolicy

func NewClientJsPolicy(ctx *pulumi.Context,
	name string, args *ClientJsPolicyArgs, opts ...pulumi.ResourceOption) (*ClientJsPolicy, error)

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

func (*ClientJsPolicy) ElementType

func (*ClientJsPolicy) ElementType() reflect.Type

func (*ClientJsPolicy) ToClientJsPolicyOutput

func (i *ClientJsPolicy) ToClientJsPolicyOutput() ClientJsPolicyOutput

func (*ClientJsPolicy) ToClientJsPolicyOutputWithContext

func (i *ClientJsPolicy) ToClientJsPolicyOutputWithContext(ctx context.Context) ClientJsPolicyOutput

type ClientJsPolicyArgs

type ClientJsPolicyArgs struct {
	Code             pulumi.StringInput
	DecisionStrategy pulumi.StringInput
	Description      pulumi.StringPtrInput
	Logic            pulumi.StringPtrInput
	Name             pulumi.StringPtrInput
	RealmId          pulumi.StringInput
	ResourceServerId pulumi.StringInput
	Type             pulumi.StringPtrInput
}

The set of arguments for constructing a ClientJsPolicy resource.

func (ClientJsPolicyArgs) ElementType

func (ClientJsPolicyArgs) ElementType() reflect.Type

type ClientJsPolicyArray

type ClientJsPolicyArray []ClientJsPolicyInput

func (ClientJsPolicyArray) ElementType

func (ClientJsPolicyArray) ElementType() reflect.Type

func (ClientJsPolicyArray) ToClientJsPolicyArrayOutput

func (i ClientJsPolicyArray) ToClientJsPolicyArrayOutput() ClientJsPolicyArrayOutput

func (ClientJsPolicyArray) ToClientJsPolicyArrayOutputWithContext

func (i ClientJsPolicyArray) ToClientJsPolicyArrayOutputWithContext(ctx context.Context) ClientJsPolicyArrayOutput

type ClientJsPolicyArrayInput

type ClientJsPolicyArrayInput interface {
	pulumi.Input

	ToClientJsPolicyArrayOutput() ClientJsPolicyArrayOutput
	ToClientJsPolicyArrayOutputWithContext(context.Context) ClientJsPolicyArrayOutput
}

ClientJsPolicyArrayInput is an input type that accepts ClientJsPolicyArray and ClientJsPolicyArrayOutput values. You can construct a concrete instance of `ClientJsPolicyArrayInput` via:

ClientJsPolicyArray{ ClientJsPolicyArgs{...} }

type ClientJsPolicyArrayOutput

type ClientJsPolicyArrayOutput struct{ *pulumi.OutputState }

func (ClientJsPolicyArrayOutput) ElementType

func (ClientJsPolicyArrayOutput) ElementType() reflect.Type

func (ClientJsPolicyArrayOutput) Index

func (ClientJsPolicyArrayOutput) ToClientJsPolicyArrayOutput

func (o ClientJsPolicyArrayOutput) ToClientJsPolicyArrayOutput() ClientJsPolicyArrayOutput

func (ClientJsPolicyArrayOutput) ToClientJsPolicyArrayOutputWithContext

func (o ClientJsPolicyArrayOutput) ToClientJsPolicyArrayOutputWithContext(ctx context.Context) ClientJsPolicyArrayOutput

type ClientJsPolicyInput

type ClientJsPolicyInput interface {
	pulumi.Input

	ToClientJsPolicyOutput() ClientJsPolicyOutput
	ToClientJsPolicyOutputWithContext(ctx context.Context) ClientJsPolicyOutput
}

type ClientJsPolicyMap

type ClientJsPolicyMap map[string]ClientJsPolicyInput

func (ClientJsPolicyMap) ElementType

func (ClientJsPolicyMap) ElementType() reflect.Type

func (ClientJsPolicyMap) ToClientJsPolicyMapOutput

func (i ClientJsPolicyMap) ToClientJsPolicyMapOutput() ClientJsPolicyMapOutput

func (ClientJsPolicyMap) ToClientJsPolicyMapOutputWithContext

func (i ClientJsPolicyMap) ToClientJsPolicyMapOutputWithContext(ctx context.Context) ClientJsPolicyMapOutput

type ClientJsPolicyMapInput

type ClientJsPolicyMapInput interface {
	pulumi.Input

	ToClientJsPolicyMapOutput() ClientJsPolicyMapOutput
	ToClientJsPolicyMapOutputWithContext(context.Context) ClientJsPolicyMapOutput
}

ClientJsPolicyMapInput is an input type that accepts ClientJsPolicyMap and ClientJsPolicyMapOutput values. You can construct a concrete instance of `ClientJsPolicyMapInput` via:

ClientJsPolicyMap{ "key": ClientJsPolicyArgs{...} }

type ClientJsPolicyMapOutput

type ClientJsPolicyMapOutput struct{ *pulumi.OutputState }

func (ClientJsPolicyMapOutput) ElementType

func (ClientJsPolicyMapOutput) ElementType() reflect.Type

func (ClientJsPolicyMapOutput) MapIndex

func (ClientJsPolicyMapOutput) ToClientJsPolicyMapOutput

func (o ClientJsPolicyMapOutput) ToClientJsPolicyMapOutput() ClientJsPolicyMapOutput

func (ClientJsPolicyMapOutput) ToClientJsPolicyMapOutputWithContext

func (o ClientJsPolicyMapOutput) ToClientJsPolicyMapOutputWithContext(ctx context.Context) ClientJsPolicyMapOutput

type ClientJsPolicyOutput

type ClientJsPolicyOutput struct{ *pulumi.OutputState }

func (ClientJsPolicyOutput) Code

func (ClientJsPolicyOutput) DecisionStrategy

func (o ClientJsPolicyOutput) DecisionStrategy() pulumi.StringOutput

func (ClientJsPolicyOutput) Description

func (ClientJsPolicyOutput) ElementType

func (ClientJsPolicyOutput) ElementType() reflect.Type

func (ClientJsPolicyOutput) Logic

func (ClientJsPolicyOutput) Name

func (ClientJsPolicyOutput) RealmId

func (ClientJsPolicyOutput) ResourceServerId

func (o ClientJsPolicyOutput) ResourceServerId() pulumi.StringOutput

func (ClientJsPolicyOutput) ToClientJsPolicyOutput

func (o ClientJsPolicyOutput) ToClientJsPolicyOutput() ClientJsPolicyOutput

func (ClientJsPolicyOutput) ToClientJsPolicyOutputWithContext

func (o ClientJsPolicyOutput) ToClientJsPolicyOutputWithContext(ctx context.Context) ClientJsPolicyOutput

func (ClientJsPolicyOutput) Type

type ClientJsPolicyState

type ClientJsPolicyState struct {
	Code             pulumi.StringPtrInput
	DecisionStrategy pulumi.StringPtrInput
	Description      pulumi.StringPtrInput
	Logic            pulumi.StringPtrInput
	Name             pulumi.StringPtrInput
	RealmId          pulumi.StringPtrInput
	ResourceServerId pulumi.StringPtrInput
	Type             pulumi.StringPtrInput
}

func (ClientJsPolicyState) ElementType

func (ClientJsPolicyState) ElementType() reflect.Type

type ClientMap

type ClientMap map[string]ClientInput

func (ClientMap) ElementType

func (ClientMap) ElementType() reflect.Type

func (ClientMap) ToClientMapOutput

func (i ClientMap) ToClientMapOutput() ClientMapOutput

func (ClientMap) ToClientMapOutputWithContext

func (i ClientMap) ToClientMapOutputWithContext(ctx context.Context) ClientMapOutput

type ClientMapInput

type ClientMapInput interface {
	pulumi.Input

	ToClientMapOutput() ClientMapOutput
	ToClientMapOutputWithContext(context.Context) ClientMapOutput
}

ClientMapInput is an input type that accepts ClientMap and ClientMapOutput values. You can construct a concrete instance of `ClientMapInput` via:

ClientMap{ "key": ClientArgs{...} }

type ClientMapOutput

type ClientMapOutput struct{ *pulumi.OutputState }

func (ClientMapOutput) ElementType

func (ClientMapOutput) ElementType() reflect.Type

func (ClientMapOutput) MapIndex

func (ClientMapOutput) ToClientMapOutput

func (o ClientMapOutput) ToClientMapOutput() ClientMapOutput

func (ClientMapOutput) ToClientMapOutputWithContext

func (o ClientMapOutput) ToClientMapOutputWithContext(ctx context.Context) ClientMapOutput

type ClientOptionalScopes

type ClientOptionalScopes struct {
	pulumi.CustomResourceState

	ClientId       pulumi.StringOutput      `pulumi:"clientId"`
	OptionalScopes pulumi.StringArrayOutput `pulumi:"optionalScopes"`
	RealmId        pulumi.StringOutput      `pulumi:"realmId"`
}

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak"
"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak/openid"
"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{
			Enabled: pulumi.Bool(true),
			Realm:   pulumi.String("my-realm"),
		})
		if err != nil {
			return err
		}
		client, err := openid.NewClient(ctx, "client", &openid.ClientArgs{
			AccessType: pulumi.String("CONFIDENTIAL"),
			ClientId:   pulumi.String("test-client"),
			RealmId:    realm.ID(),
		})
		if err != nil {
			return err
		}
		clientScope, err := openid.NewClientScope(ctx, "clientScope", &openid.ClientScopeArgs{
			RealmId: realm.ID(),
		})
		if err != nil {
			return err
		}
		_, err = openid.NewClientOptionalScopes(ctx, "clientOptionalScopes", &openid.ClientOptionalScopesArgs{
			ClientId: client.ID(),
			OptionalScopes: pulumi.StringArray{
				pulumi.String("address"),
				pulumi.String("phone"),
				pulumi.String("offline_access"),
				clientScope.Name,
			},
			RealmId: realm.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

### Argument Reference

The following arguments are supported:

- `realmId` - (Required) The realm this client and scopes exists in. - `clientId` - (Required) The ID of the client to attach optional scopes to. Note that this is the unique ID of the client generated by Keycloak. - `optionalScopes` - (Required) An array of client scope names to attach to this client as optional scopes.

### Import

This resource does not support import. Instead of importing, feel free to create this resource as if it did not already exist on the server.

func GetClientOptionalScopes

func GetClientOptionalScopes(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ClientOptionalScopesState, opts ...pulumi.ResourceOption) (*ClientOptionalScopes, error)

GetClientOptionalScopes gets an existing ClientOptionalScopes 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 NewClientOptionalScopes

func NewClientOptionalScopes(ctx *pulumi.Context,
	name string, args *ClientOptionalScopesArgs, opts ...pulumi.ResourceOption) (*ClientOptionalScopes, error)

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

func (*ClientOptionalScopes) ElementType

func (*ClientOptionalScopes) ElementType() reflect.Type

func (*ClientOptionalScopes) ToClientOptionalScopesOutput

func (i *ClientOptionalScopes) ToClientOptionalScopesOutput() ClientOptionalScopesOutput

func (*ClientOptionalScopes) ToClientOptionalScopesOutputWithContext

func (i *ClientOptionalScopes) ToClientOptionalScopesOutputWithContext(ctx context.Context) ClientOptionalScopesOutput

type ClientOptionalScopesArgs

type ClientOptionalScopesArgs struct {
	ClientId       pulumi.StringInput
	OptionalScopes pulumi.StringArrayInput
	RealmId        pulumi.StringInput
}

The set of arguments for constructing a ClientOptionalScopes resource.

func (ClientOptionalScopesArgs) ElementType

func (ClientOptionalScopesArgs) ElementType() reflect.Type

type ClientOptionalScopesArray

type ClientOptionalScopesArray []ClientOptionalScopesInput

func (ClientOptionalScopesArray) ElementType

func (ClientOptionalScopesArray) ElementType() reflect.Type

func (ClientOptionalScopesArray) ToClientOptionalScopesArrayOutput

func (i ClientOptionalScopesArray) ToClientOptionalScopesArrayOutput() ClientOptionalScopesArrayOutput

func (ClientOptionalScopesArray) ToClientOptionalScopesArrayOutputWithContext

func (i ClientOptionalScopesArray) ToClientOptionalScopesArrayOutputWithContext(ctx context.Context) ClientOptionalScopesArrayOutput

type ClientOptionalScopesArrayInput

type ClientOptionalScopesArrayInput interface {
	pulumi.Input

	ToClientOptionalScopesArrayOutput() ClientOptionalScopesArrayOutput
	ToClientOptionalScopesArrayOutputWithContext(context.Context) ClientOptionalScopesArrayOutput
}

ClientOptionalScopesArrayInput is an input type that accepts ClientOptionalScopesArray and ClientOptionalScopesArrayOutput values. You can construct a concrete instance of `ClientOptionalScopesArrayInput` via:

ClientOptionalScopesArray{ ClientOptionalScopesArgs{...} }

type ClientOptionalScopesArrayOutput

type ClientOptionalScopesArrayOutput struct{ *pulumi.OutputState }

func (ClientOptionalScopesArrayOutput) ElementType

func (ClientOptionalScopesArrayOutput) Index

func (ClientOptionalScopesArrayOutput) ToClientOptionalScopesArrayOutput

func (o ClientOptionalScopesArrayOutput) ToClientOptionalScopesArrayOutput() ClientOptionalScopesArrayOutput

func (ClientOptionalScopesArrayOutput) ToClientOptionalScopesArrayOutputWithContext

func (o ClientOptionalScopesArrayOutput) ToClientOptionalScopesArrayOutputWithContext(ctx context.Context) ClientOptionalScopesArrayOutput

type ClientOptionalScopesInput

type ClientOptionalScopesInput interface {
	pulumi.Input

	ToClientOptionalScopesOutput() ClientOptionalScopesOutput
	ToClientOptionalScopesOutputWithContext(ctx context.Context) ClientOptionalScopesOutput
}

type ClientOptionalScopesMap

type ClientOptionalScopesMap map[string]ClientOptionalScopesInput

func (ClientOptionalScopesMap) ElementType

func (ClientOptionalScopesMap) ElementType() reflect.Type

func (ClientOptionalScopesMap) ToClientOptionalScopesMapOutput

func (i ClientOptionalScopesMap) ToClientOptionalScopesMapOutput() ClientOptionalScopesMapOutput

func (ClientOptionalScopesMap) ToClientOptionalScopesMapOutputWithContext

func (i ClientOptionalScopesMap) ToClientOptionalScopesMapOutputWithContext(ctx context.Context) ClientOptionalScopesMapOutput

type ClientOptionalScopesMapInput

type ClientOptionalScopesMapInput interface {
	pulumi.Input

	ToClientOptionalScopesMapOutput() ClientOptionalScopesMapOutput
	ToClientOptionalScopesMapOutputWithContext(context.Context) ClientOptionalScopesMapOutput
}

ClientOptionalScopesMapInput is an input type that accepts ClientOptionalScopesMap and ClientOptionalScopesMapOutput values. You can construct a concrete instance of `ClientOptionalScopesMapInput` via:

ClientOptionalScopesMap{ "key": ClientOptionalScopesArgs{...} }

type ClientOptionalScopesMapOutput

type ClientOptionalScopesMapOutput struct{ *pulumi.OutputState }

func (ClientOptionalScopesMapOutput) ElementType

func (ClientOptionalScopesMapOutput) MapIndex

func (ClientOptionalScopesMapOutput) ToClientOptionalScopesMapOutput

func (o ClientOptionalScopesMapOutput) ToClientOptionalScopesMapOutput() ClientOptionalScopesMapOutput

func (ClientOptionalScopesMapOutput) ToClientOptionalScopesMapOutputWithContext

func (o ClientOptionalScopesMapOutput) ToClientOptionalScopesMapOutputWithContext(ctx context.Context) ClientOptionalScopesMapOutput

type ClientOptionalScopesOutput

type ClientOptionalScopesOutput struct{ *pulumi.OutputState }

func (ClientOptionalScopesOutput) ClientId

func (ClientOptionalScopesOutput) ElementType

func (ClientOptionalScopesOutput) ElementType() reflect.Type

func (ClientOptionalScopesOutput) OptionalScopes

func (ClientOptionalScopesOutput) RealmId

func (ClientOptionalScopesOutput) ToClientOptionalScopesOutput

func (o ClientOptionalScopesOutput) ToClientOptionalScopesOutput() ClientOptionalScopesOutput

func (ClientOptionalScopesOutput) ToClientOptionalScopesOutputWithContext

func (o ClientOptionalScopesOutput) ToClientOptionalScopesOutputWithContext(ctx context.Context) ClientOptionalScopesOutput

type ClientOptionalScopesState

type ClientOptionalScopesState struct {
	ClientId       pulumi.StringPtrInput
	OptionalScopes pulumi.StringArrayInput
	RealmId        pulumi.StringPtrInput
}

func (ClientOptionalScopesState) ElementType

func (ClientOptionalScopesState) ElementType() reflect.Type

type ClientOutput

type ClientOutput struct{ *pulumi.OutputState }

func (ClientOutput) AccessTokenLifespan

func (o ClientOutput) AccessTokenLifespan() pulumi.StringOutput

func (ClientOutput) AccessType

func (o ClientOutput) AccessType() pulumi.StringOutput

func (ClientOutput) AdminUrl

func (o ClientOutput) AdminUrl() pulumi.StringOutput

func (ClientOutput) AuthenticationFlowBindingOverrides

func (o ClientOutput) AuthenticationFlowBindingOverrides() ClientAuthenticationFlowBindingOverridesPtrOutput

func (ClientOutput) Authorization

func (o ClientOutput) Authorization() ClientAuthorizationPtrOutput

func (ClientOutput) BackchannelLogoutRevokeOfflineSessions

func (o ClientOutput) BackchannelLogoutRevokeOfflineSessions() pulumi.BoolPtrOutput

func (ClientOutput) BackchannelLogoutSessionRequired

func (o ClientOutput) BackchannelLogoutSessionRequired() pulumi.BoolPtrOutput

func (ClientOutput) BackchannelLogoutUrl

func (o ClientOutput) BackchannelLogoutUrl() pulumi.StringPtrOutput

func (ClientOutput) BaseUrl

func (o ClientOutput) BaseUrl() pulumi.StringOutput

func (ClientOutput) ClientAuthenticatorType

func (o ClientOutput) ClientAuthenticatorType() pulumi.StringPtrOutput

func (ClientOutput) ClientId

func (o ClientOutput) ClientId() pulumi.StringOutput

func (ClientOutput) ClientOfflineSessionIdleTimeout

func (o ClientOutput) ClientOfflineSessionIdleTimeout() pulumi.StringOutput

func (ClientOutput) ClientOfflineSessionMaxLifespan

func (o ClientOutput) ClientOfflineSessionMaxLifespan() pulumi.StringOutput

func (ClientOutput) ClientSecret

func (o ClientOutput) ClientSecret() pulumi.StringOutput

func (ClientOutput) ClientSessionIdleTimeout

func (o ClientOutput) ClientSessionIdleTimeout() pulumi.StringOutput

func (ClientOutput) ClientSessionMaxLifespan

func (o ClientOutput) ClientSessionMaxLifespan() pulumi.StringOutput

func (ClientOutput) ConsentRequired

func (o ClientOutput) ConsentRequired() pulumi.BoolOutput

func (ClientOutput) ConsentScreenText

func (o ClientOutput) ConsentScreenText() pulumi.StringOutput

func (ClientOutput) Description

func (o ClientOutput) Description() pulumi.StringOutput

func (ClientOutput) DirectAccessGrantsEnabled

func (o ClientOutput) DirectAccessGrantsEnabled() pulumi.BoolOutput

func (ClientOutput) DisplayOnConsentScreen

func (o ClientOutput) DisplayOnConsentScreen() pulumi.BoolOutput

func (ClientOutput) ElementType

func (ClientOutput) ElementType() reflect.Type

func (ClientOutput) Enabled

func (o ClientOutput) Enabled() pulumi.BoolPtrOutput

func (ClientOutput) ExcludeSessionStateFromAuthResponse

func (o ClientOutput) ExcludeSessionStateFromAuthResponse() pulumi.BoolOutput

func (ClientOutput) ExtraConfig

func (o ClientOutput) ExtraConfig() pulumi.MapOutput

func (ClientOutput) FrontchannelLogoutEnabled

func (o ClientOutput) FrontchannelLogoutEnabled() pulumi.BoolOutput

func (ClientOutput) FrontchannelLogoutUrl

func (o ClientOutput) FrontchannelLogoutUrl() pulumi.StringPtrOutput

func (ClientOutput) FullScopeAllowed

func (o ClientOutput) FullScopeAllowed() pulumi.BoolPtrOutput

func (ClientOutput) ImplicitFlowEnabled

func (o ClientOutput) ImplicitFlowEnabled() pulumi.BoolOutput

func (ClientOutput) Import

func (o ClientOutput) Import() pulumi.BoolPtrOutput

func (ClientOutput) LoginTheme

func (o ClientOutput) LoginTheme() pulumi.StringPtrOutput

func (ClientOutput) Name

func (o ClientOutput) Name() pulumi.StringOutput

func (ClientOutput) Oauth2DeviceAuthorizationGrantEnabled

func (o ClientOutput) Oauth2DeviceAuthorizationGrantEnabled() pulumi.BoolPtrOutput

func (ClientOutput) Oauth2DeviceCodeLifespan

func (o ClientOutput) Oauth2DeviceCodeLifespan() pulumi.StringPtrOutput

func (ClientOutput) Oauth2DevicePollingInterval

func (o ClientOutput) Oauth2DevicePollingInterval() pulumi.StringPtrOutput

func (ClientOutput) PkceCodeChallengeMethod

func (o ClientOutput) PkceCodeChallengeMethod() pulumi.StringPtrOutput

func (ClientOutput) RealmId

func (o ClientOutput) RealmId() pulumi.StringOutput

func (ClientOutput) ResourceServerId

func (o ClientOutput) ResourceServerId() pulumi.StringOutput

func (ClientOutput) RootUrl

func (o ClientOutput) RootUrl() pulumi.StringOutput

func (ClientOutput) ServiceAccountUserId

func (o ClientOutput) ServiceAccountUserId() pulumi.StringOutput

func (ClientOutput) ServiceAccountsEnabled

func (o ClientOutput) ServiceAccountsEnabled() pulumi.BoolOutput

func (ClientOutput) StandardFlowEnabled

func (o ClientOutput) StandardFlowEnabled() pulumi.BoolOutput

func (ClientOutput) ToClientOutput

func (o ClientOutput) ToClientOutput() ClientOutput

func (ClientOutput) ToClientOutputWithContext

func (o ClientOutput) ToClientOutputWithContext(ctx context.Context) ClientOutput

func (ClientOutput) UseRefreshTokens

func (o ClientOutput) UseRefreshTokens() pulumi.BoolPtrOutput

func (ClientOutput) UseRefreshTokensClientCredentials

func (o ClientOutput) UseRefreshTokensClientCredentials() pulumi.BoolPtrOutput

func (ClientOutput) ValidPostLogoutRedirectUris

func (o ClientOutput) ValidPostLogoutRedirectUris() pulumi.StringArrayOutput

func (ClientOutput) ValidRedirectUris

func (o ClientOutput) ValidRedirectUris() pulumi.StringArrayOutput

func (ClientOutput) WebOrigins

func (o ClientOutput) WebOrigins() pulumi.StringArrayOutput

type ClientPermissions

type ClientPermissions struct {
	pulumi.CustomResourceState

	// Resource server id representing the realm management client on which this permission is managed
	AuthorizationResourceServerId pulumi.StringOutput                                `pulumi:"authorizationResourceServerId"`
	ClientId                      pulumi.StringOutput                                `pulumi:"clientId"`
	ConfigureScope                ClientPermissionsConfigureScopePtrOutput           `pulumi:"configureScope"`
	Enabled                       pulumi.BoolOutput                                  `pulumi:"enabled"`
	ManageScope                   ClientPermissionsManageScopePtrOutput              `pulumi:"manageScope"`
	MapRolesClientScopeScope      ClientPermissionsMapRolesClientScopeScopePtrOutput `pulumi:"mapRolesClientScopeScope"`
	MapRolesCompositeScope        ClientPermissionsMapRolesCompositeScopePtrOutput   `pulumi:"mapRolesCompositeScope"`
	MapRolesScope                 ClientPermissionsMapRolesScopePtrOutput            `pulumi:"mapRolesScope"`
	RealmId                       pulumi.StringOutput                                `pulumi:"realmId"`
	TokenExchangeScope            ClientPermissionsTokenExchangeScopePtrOutput       `pulumi:"tokenExchangeScope"`
	ViewScope                     ClientPermissionsViewScopePtrOutput                `pulumi:"viewScope"`
}

Allows you to manage all openid client Scope Based Permissions.

This is part of a preview keycloak feature. You need to enable this feature to be able to use this resource. More information about enabling the preview feature can be found here: https://www.keycloak.org/docs/latest/securing_apps/index.html#_token-exchange

When enabling Openid Client Permissions, Keycloak does several things automatically:

  1. Enable Authorization on build-in realm-management client
  2. Create scopes "view", "manage", "configure", "map-roles", "map-roles-client-scope", "map-roles-composite", " token-exchange"
  3. Create a resource representing the openid client
  4. Create all scope based permission for the scopes and openid client resource

If the realm-management Authorization is not enable, you have to ceate a dependency (`dependsOn`) with the policy and the openid client.

func GetClientPermissions

func GetClientPermissions(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ClientPermissionsState, opts ...pulumi.ResourceOption) (*ClientPermissions, error)

GetClientPermissions gets an existing ClientPermissions 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 NewClientPermissions

func NewClientPermissions(ctx *pulumi.Context,
	name string, args *ClientPermissionsArgs, opts ...pulumi.ResourceOption) (*ClientPermissions, error)

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

func (*ClientPermissions) ElementType

func (*ClientPermissions) ElementType() reflect.Type

func (*ClientPermissions) ToClientPermissionsOutput

func (i *ClientPermissions) ToClientPermissionsOutput() ClientPermissionsOutput

func (*ClientPermissions) ToClientPermissionsOutputWithContext

func (i *ClientPermissions) ToClientPermissionsOutputWithContext(ctx context.Context) ClientPermissionsOutput

type ClientPermissionsArgs

The set of arguments for constructing a ClientPermissions resource.

func (ClientPermissionsArgs) ElementType

func (ClientPermissionsArgs) ElementType() reflect.Type

type ClientPermissionsArray

type ClientPermissionsArray []ClientPermissionsInput

func (ClientPermissionsArray) ElementType

func (ClientPermissionsArray) ElementType() reflect.Type

func (ClientPermissionsArray) ToClientPermissionsArrayOutput

func (i ClientPermissionsArray) ToClientPermissionsArrayOutput() ClientPermissionsArrayOutput

func (ClientPermissionsArray) ToClientPermissionsArrayOutputWithContext

func (i ClientPermissionsArray) ToClientPermissionsArrayOutputWithContext(ctx context.Context) ClientPermissionsArrayOutput

type ClientPermissionsArrayInput

type ClientPermissionsArrayInput interface {
	pulumi.Input

	ToClientPermissionsArrayOutput() ClientPermissionsArrayOutput
	ToClientPermissionsArrayOutputWithContext(context.Context) ClientPermissionsArrayOutput
}

ClientPermissionsArrayInput is an input type that accepts ClientPermissionsArray and ClientPermissionsArrayOutput values. You can construct a concrete instance of `ClientPermissionsArrayInput` via:

ClientPermissionsArray{ ClientPermissionsArgs{...} }

type ClientPermissionsArrayOutput

type ClientPermissionsArrayOutput struct{ *pulumi.OutputState }

func (ClientPermissionsArrayOutput) ElementType

func (ClientPermissionsArrayOutput) Index

func (ClientPermissionsArrayOutput) ToClientPermissionsArrayOutput

func (o ClientPermissionsArrayOutput) ToClientPermissionsArrayOutput() ClientPermissionsArrayOutput

func (ClientPermissionsArrayOutput) ToClientPermissionsArrayOutputWithContext

func (o ClientPermissionsArrayOutput) ToClientPermissionsArrayOutputWithContext(ctx context.Context) ClientPermissionsArrayOutput

type ClientPermissionsConfigureScope

type ClientPermissionsConfigureScope struct {
	DecisionStrategy *string  `pulumi:"decisionStrategy"`
	Description      *string  `pulumi:"description"`
	Policies         []string `pulumi:"policies"`
}

type ClientPermissionsConfigureScopeArgs

type ClientPermissionsConfigureScopeArgs struct {
	DecisionStrategy pulumi.StringPtrInput   `pulumi:"decisionStrategy"`
	Description      pulumi.StringPtrInput   `pulumi:"description"`
	Policies         pulumi.StringArrayInput `pulumi:"policies"`
}

func (ClientPermissionsConfigureScopeArgs) ElementType

func (ClientPermissionsConfigureScopeArgs) ToClientPermissionsConfigureScopeOutput

func (i ClientPermissionsConfigureScopeArgs) ToClientPermissionsConfigureScopeOutput() ClientPermissionsConfigureScopeOutput

func (ClientPermissionsConfigureScopeArgs) ToClientPermissionsConfigureScopeOutputWithContext

func (i ClientPermissionsConfigureScopeArgs) ToClientPermissionsConfigureScopeOutputWithContext(ctx context.Context) ClientPermissionsConfigureScopeOutput

func (ClientPermissionsConfigureScopeArgs) ToClientPermissionsConfigureScopePtrOutput

func (i ClientPermissionsConfigureScopeArgs) ToClientPermissionsConfigureScopePtrOutput() ClientPermissionsConfigureScopePtrOutput

func (ClientPermissionsConfigureScopeArgs) ToClientPermissionsConfigureScopePtrOutputWithContext

func (i ClientPermissionsConfigureScopeArgs) ToClientPermissionsConfigureScopePtrOutputWithContext(ctx context.Context) ClientPermissionsConfigureScopePtrOutput

type ClientPermissionsConfigureScopeInput

type ClientPermissionsConfigureScopeInput interface {
	pulumi.Input

	ToClientPermissionsConfigureScopeOutput() ClientPermissionsConfigureScopeOutput
	ToClientPermissionsConfigureScopeOutputWithContext(context.Context) ClientPermissionsConfigureScopeOutput
}

ClientPermissionsConfigureScopeInput is an input type that accepts ClientPermissionsConfigureScopeArgs and ClientPermissionsConfigureScopeOutput values. You can construct a concrete instance of `ClientPermissionsConfigureScopeInput` via:

ClientPermissionsConfigureScopeArgs{...}

type ClientPermissionsConfigureScopeOutput

type ClientPermissionsConfigureScopeOutput struct{ *pulumi.OutputState }

func (ClientPermissionsConfigureScopeOutput) DecisionStrategy

func (ClientPermissionsConfigureScopeOutput) Description

func (ClientPermissionsConfigureScopeOutput) ElementType

func (ClientPermissionsConfigureScopeOutput) Policies

func (ClientPermissionsConfigureScopeOutput) ToClientPermissionsConfigureScopeOutput

func (o ClientPermissionsConfigureScopeOutput) ToClientPermissionsConfigureScopeOutput() ClientPermissionsConfigureScopeOutput

func (ClientPermissionsConfigureScopeOutput) ToClientPermissionsConfigureScopeOutputWithContext

func (o ClientPermissionsConfigureScopeOutput) ToClientPermissionsConfigureScopeOutputWithContext(ctx context.Context) ClientPermissionsConfigureScopeOutput

func (ClientPermissionsConfigureScopeOutput) ToClientPermissionsConfigureScopePtrOutput

func (o ClientPermissionsConfigureScopeOutput) ToClientPermissionsConfigureScopePtrOutput() ClientPermissionsConfigureScopePtrOutput

func (ClientPermissionsConfigureScopeOutput) ToClientPermissionsConfigureScopePtrOutputWithContext

func (o ClientPermissionsConfigureScopeOutput) ToClientPermissionsConfigureScopePtrOutputWithContext(ctx context.Context) ClientPermissionsConfigureScopePtrOutput

type ClientPermissionsConfigureScopePtrInput

type ClientPermissionsConfigureScopePtrInput interface {
	pulumi.Input

	ToClientPermissionsConfigureScopePtrOutput() ClientPermissionsConfigureScopePtrOutput
	ToClientPermissionsConfigureScopePtrOutputWithContext(context.Context) ClientPermissionsConfigureScopePtrOutput
}

ClientPermissionsConfigureScopePtrInput is an input type that accepts ClientPermissionsConfigureScopeArgs, ClientPermissionsConfigureScopePtr and ClientPermissionsConfigureScopePtrOutput values. You can construct a concrete instance of `ClientPermissionsConfigureScopePtrInput` via:

        ClientPermissionsConfigureScopeArgs{...}

or:

        nil

type ClientPermissionsConfigureScopePtrOutput

type ClientPermissionsConfigureScopePtrOutput struct{ *pulumi.OutputState }

func (ClientPermissionsConfigureScopePtrOutput) DecisionStrategy

func (ClientPermissionsConfigureScopePtrOutput) Description

func (ClientPermissionsConfigureScopePtrOutput) Elem

func (ClientPermissionsConfigureScopePtrOutput) ElementType

func (ClientPermissionsConfigureScopePtrOutput) Policies

func (ClientPermissionsConfigureScopePtrOutput) ToClientPermissionsConfigureScopePtrOutput

func (o ClientPermissionsConfigureScopePtrOutput) ToClientPermissionsConfigureScopePtrOutput() ClientPermissionsConfigureScopePtrOutput

func (ClientPermissionsConfigureScopePtrOutput) ToClientPermissionsConfigureScopePtrOutputWithContext

func (o ClientPermissionsConfigureScopePtrOutput) ToClientPermissionsConfigureScopePtrOutputWithContext(ctx context.Context) ClientPermissionsConfigureScopePtrOutput

type ClientPermissionsInput

type ClientPermissionsInput interface {
	pulumi.Input

	ToClientPermissionsOutput() ClientPermissionsOutput
	ToClientPermissionsOutputWithContext(ctx context.Context) ClientPermissionsOutput
}

type ClientPermissionsManageScope

type ClientPermissionsManageScope struct {
	DecisionStrategy *string  `pulumi:"decisionStrategy"`
	Description      *string  `pulumi:"description"`
	Policies         []string `pulumi:"policies"`
}

type ClientPermissionsManageScopeArgs

type ClientPermissionsManageScopeArgs struct {
	DecisionStrategy pulumi.StringPtrInput   `pulumi:"decisionStrategy"`
	Description      pulumi.StringPtrInput   `pulumi:"description"`
	Policies         pulumi.StringArrayInput `pulumi:"policies"`
}

func (ClientPermissionsManageScopeArgs) ElementType

func (ClientPermissionsManageScopeArgs) ToClientPermissionsManageScopeOutput

func (i ClientPermissionsManageScopeArgs) ToClientPermissionsManageScopeOutput() ClientPermissionsManageScopeOutput

func (ClientPermissionsManageScopeArgs) ToClientPermissionsManageScopeOutputWithContext

func (i ClientPermissionsManageScopeArgs) ToClientPermissionsManageScopeOutputWithContext(ctx context.Context) ClientPermissionsManageScopeOutput

func (ClientPermissionsManageScopeArgs) ToClientPermissionsManageScopePtrOutput

func (i ClientPermissionsManageScopeArgs) ToClientPermissionsManageScopePtrOutput() ClientPermissionsManageScopePtrOutput

func (ClientPermissionsManageScopeArgs) ToClientPermissionsManageScopePtrOutputWithContext

func (i ClientPermissionsManageScopeArgs) ToClientPermissionsManageScopePtrOutputWithContext(ctx context.Context) ClientPermissionsManageScopePtrOutput

type ClientPermissionsManageScopeInput

type ClientPermissionsManageScopeInput interface {
	pulumi.Input

	ToClientPermissionsManageScopeOutput() ClientPermissionsManageScopeOutput
	ToClientPermissionsManageScopeOutputWithContext(context.Context) ClientPermissionsManageScopeOutput
}

ClientPermissionsManageScopeInput is an input type that accepts ClientPermissionsManageScopeArgs and ClientPermissionsManageScopeOutput values. You can construct a concrete instance of `ClientPermissionsManageScopeInput` via:

ClientPermissionsManageScopeArgs{...}

type ClientPermissionsManageScopeOutput

type ClientPermissionsManageScopeOutput struct{ *pulumi.OutputState }

func (ClientPermissionsManageScopeOutput) DecisionStrategy

func (ClientPermissionsManageScopeOutput) Description

func (ClientPermissionsManageScopeOutput) ElementType

func (ClientPermissionsManageScopeOutput) Policies

func (ClientPermissionsManageScopeOutput) ToClientPermissionsManageScopeOutput

func (o ClientPermissionsManageScopeOutput) ToClientPermissionsManageScopeOutput() ClientPermissionsManageScopeOutput

func (ClientPermissionsManageScopeOutput) ToClientPermissionsManageScopeOutputWithContext

func (o ClientPermissionsManageScopeOutput) ToClientPermissionsManageScopeOutputWithContext(ctx context.Context) ClientPermissionsManageScopeOutput

func (ClientPermissionsManageScopeOutput) ToClientPermissionsManageScopePtrOutput

func (o ClientPermissionsManageScopeOutput) ToClientPermissionsManageScopePtrOutput() ClientPermissionsManageScopePtrOutput

func (ClientPermissionsManageScopeOutput) ToClientPermissionsManageScopePtrOutputWithContext

func (o ClientPermissionsManageScopeOutput) ToClientPermissionsManageScopePtrOutputWithContext(ctx context.Context) ClientPermissionsManageScopePtrOutput

type ClientPermissionsManageScopePtrInput

type ClientPermissionsManageScopePtrInput interface {
	pulumi.Input

	ToClientPermissionsManageScopePtrOutput() ClientPermissionsManageScopePtrOutput
	ToClientPermissionsManageScopePtrOutputWithContext(context.Context) ClientPermissionsManageScopePtrOutput
}

ClientPermissionsManageScopePtrInput is an input type that accepts ClientPermissionsManageScopeArgs, ClientPermissionsManageScopePtr and ClientPermissionsManageScopePtrOutput values. You can construct a concrete instance of `ClientPermissionsManageScopePtrInput` via:

        ClientPermissionsManageScopeArgs{...}

or:

        nil

type ClientPermissionsManageScopePtrOutput

type ClientPermissionsManageScopePtrOutput struct{ *pulumi.OutputState }

func (ClientPermissionsManageScopePtrOutput) DecisionStrategy

func (ClientPermissionsManageScopePtrOutput) Description

func (ClientPermissionsManageScopePtrOutput) Elem

func (ClientPermissionsManageScopePtrOutput) ElementType

func (ClientPermissionsManageScopePtrOutput) Policies

func (ClientPermissionsManageScopePtrOutput) ToClientPermissionsManageScopePtrOutput

func (o ClientPermissionsManageScopePtrOutput) ToClientPermissionsManageScopePtrOutput() ClientPermissionsManageScopePtrOutput

func (ClientPermissionsManageScopePtrOutput) ToClientPermissionsManageScopePtrOutputWithContext

func (o ClientPermissionsManageScopePtrOutput) ToClientPermissionsManageScopePtrOutputWithContext(ctx context.Context) ClientPermissionsManageScopePtrOutput

type ClientPermissionsMap

type ClientPermissionsMap map[string]ClientPermissionsInput

func (ClientPermissionsMap) ElementType

func (ClientPermissionsMap) ElementType() reflect.Type

func (ClientPermissionsMap) ToClientPermissionsMapOutput

func (i ClientPermissionsMap) ToClientPermissionsMapOutput() ClientPermissionsMapOutput

func (ClientPermissionsMap) ToClientPermissionsMapOutputWithContext

func (i ClientPermissionsMap) ToClientPermissionsMapOutputWithContext(ctx context.Context) ClientPermissionsMapOutput

type ClientPermissionsMapInput

type ClientPermissionsMapInput interface {
	pulumi.Input

	ToClientPermissionsMapOutput() ClientPermissionsMapOutput
	ToClientPermissionsMapOutputWithContext(context.Context) ClientPermissionsMapOutput
}

ClientPermissionsMapInput is an input type that accepts ClientPermissionsMap and ClientPermissionsMapOutput values. You can construct a concrete instance of `ClientPermissionsMapInput` via:

ClientPermissionsMap{ "key": ClientPermissionsArgs{...} }

type ClientPermissionsMapOutput

type ClientPermissionsMapOutput struct{ *pulumi.OutputState }

func (ClientPermissionsMapOutput) ElementType

func (ClientPermissionsMapOutput) ElementType() reflect.Type

func (ClientPermissionsMapOutput) MapIndex

func (ClientPermissionsMapOutput) ToClientPermissionsMapOutput

func (o ClientPermissionsMapOutput) ToClientPermissionsMapOutput() ClientPermissionsMapOutput

func (ClientPermissionsMapOutput) ToClientPermissionsMapOutputWithContext

func (o ClientPermissionsMapOutput) ToClientPermissionsMapOutputWithContext(ctx context.Context) ClientPermissionsMapOutput

type ClientPermissionsMapRolesClientScopeScope

type ClientPermissionsMapRolesClientScopeScope struct {
	DecisionStrategy *string  `pulumi:"decisionStrategy"`
	Description      *string  `pulumi:"description"`
	Policies         []string `pulumi:"policies"`
}

type ClientPermissionsMapRolesClientScopeScopeArgs

type ClientPermissionsMapRolesClientScopeScopeArgs struct {
	DecisionStrategy pulumi.StringPtrInput   `pulumi:"decisionStrategy"`
	Description      pulumi.StringPtrInput   `pulumi:"description"`
	Policies         pulumi.StringArrayInput `pulumi:"policies"`
}

func (ClientPermissionsMapRolesClientScopeScopeArgs) ElementType

func (ClientPermissionsMapRolesClientScopeScopeArgs) ToClientPermissionsMapRolesClientScopeScopeOutput

func (i ClientPermissionsMapRolesClientScopeScopeArgs) ToClientPermissionsMapRolesClientScopeScopeOutput() ClientPermissionsMapRolesClientScopeScopeOutput

func (ClientPermissionsMapRolesClientScopeScopeArgs) ToClientPermissionsMapRolesClientScopeScopeOutputWithContext

func (i ClientPermissionsMapRolesClientScopeScopeArgs) ToClientPermissionsMapRolesClientScopeScopeOutputWithContext(ctx context.Context) ClientPermissionsMapRolesClientScopeScopeOutput

func (ClientPermissionsMapRolesClientScopeScopeArgs) ToClientPermissionsMapRolesClientScopeScopePtrOutput

func (i ClientPermissionsMapRolesClientScopeScopeArgs) ToClientPermissionsMapRolesClientScopeScopePtrOutput() ClientPermissionsMapRolesClientScopeScopePtrOutput

func (ClientPermissionsMapRolesClientScopeScopeArgs) ToClientPermissionsMapRolesClientScopeScopePtrOutputWithContext

func (i ClientPermissionsMapRolesClientScopeScopeArgs) ToClientPermissionsMapRolesClientScopeScopePtrOutputWithContext(ctx context.Context) ClientPermissionsMapRolesClientScopeScopePtrOutput

type ClientPermissionsMapRolesClientScopeScopeInput

type ClientPermissionsMapRolesClientScopeScopeInput interface {
	pulumi.Input

	ToClientPermissionsMapRolesClientScopeScopeOutput() ClientPermissionsMapRolesClientScopeScopeOutput
	ToClientPermissionsMapRolesClientScopeScopeOutputWithContext(context.Context) ClientPermissionsMapRolesClientScopeScopeOutput
}

ClientPermissionsMapRolesClientScopeScopeInput is an input type that accepts ClientPermissionsMapRolesClientScopeScopeArgs and ClientPermissionsMapRolesClientScopeScopeOutput values. You can construct a concrete instance of `ClientPermissionsMapRolesClientScopeScopeInput` via:

ClientPermissionsMapRolesClientScopeScopeArgs{...}

type ClientPermissionsMapRolesClientScopeScopeOutput

type ClientPermissionsMapRolesClientScopeScopeOutput struct{ *pulumi.OutputState }

func (ClientPermissionsMapRolesClientScopeScopeOutput) DecisionStrategy

func (ClientPermissionsMapRolesClientScopeScopeOutput) Description

func (ClientPermissionsMapRolesClientScopeScopeOutput) ElementType

func (ClientPermissionsMapRolesClientScopeScopeOutput) Policies

func (ClientPermissionsMapRolesClientScopeScopeOutput) ToClientPermissionsMapRolesClientScopeScopeOutput

func (o ClientPermissionsMapRolesClientScopeScopeOutput) ToClientPermissionsMapRolesClientScopeScopeOutput() ClientPermissionsMapRolesClientScopeScopeOutput

func (ClientPermissionsMapRolesClientScopeScopeOutput) ToClientPermissionsMapRolesClientScopeScopeOutputWithContext

func (o ClientPermissionsMapRolesClientScopeScopeOutput) ToClientPermissionsMapRolesClientScopeScopeOutputWithContext(ctx context.Context) ClientPermissionsMapRolesClientScopeScopeOutput

func (ClientPermissionsMapRolesClientScopeScopeOutput) ToClientPermissionsMapRolesClientScopeScopePtrOutput

func (o ClientPermissionsMapRolesClientScopeScopeOutput) ToClientPermissionsMapRolesClientScopeScopePtrOutput() ClientPermissionsMapRolesClientScopeScopePtrOutput

func (ClientPermissionsMapRolesClientScopeScopeOutput) ToClientPermissionsMapRolesClientScopeScopePtrOutputWithContext

func (o ClientPermissionsMapRolesClientScopeScopeOutput) ToClientPermissionsMapRolesClientScopeScopePtrOutputWithContext(ctx context.Context) ClientPermissionsMapRolesClientScopeScopePtrOutput

type ClientPermissionsMapRolesClientScopeScopePtrInput

type ClientPermissionsMapRolesClientScopeScopePtrInput interface {
	pulumi.Input

	ToClientPermissionsMapRolesClientScopeScopePtrOutput() ClientPermissionsMapRolesClientScopeScopePtrOutput
	ToClientPermissionsMapRolesClientScopeScopePtrOutputWithContext(context.Context) ClientPermissionsMapRolesClientScopeScopePtrOutput
}

ClientPermissionsMapRolesClientScopeScopePtrInput is an input type that accepts ClientPermissionsMapRolesClientScopeScopeArgs, ClientPermissionsMapRolesClientScopeScopePtr and ClientPermissionsMapRolesClientScopeScopePtrOutput values. You can construct a concrete instance of `ClientPermissionsMapRolesClientScopeScopePtrInput` via:

        ClientPermissionsMapRolesClientScopeScopeArgs{...}

or:

        nil

type ClientPermissionsMapRolesClientScopeScopePtrOutput

type ClientPermissionsMapRolesClientScopeScopePtrOutput struct{ *pulumi.OutputState }

func (ClientPermissionsMapRolesClientScopeScopePtrOutput) DecisionStrategy

func (ClientPermissionsMapRolesClientScopeScopePtrOutput) Description

func (ClientPermissionsMapRolesClientScopeScopePtrOutput) Elem

func (ClientPermissionsMapRolesClientScopeScopePtrOutput) ElementType

func (ClientPermissionsMapRolesClientScopeScopePtrOutput) Policies

func (ClientPermissionsMapRolesClientScopeScopePtrOutput) ToClientPermissionsMapRolesClientScopeScopePtrOutput

func (o ClientPermissionsMapRolesClientScopeScopePtrOutput) ToClientPermissionsMapRolesClientScopeScopePtrOutput() ClientPermissionsMapRolesClientScopeScopePtrOutput

func (ClientPermissionsMapRolesClientScopeScopePtrOutput) ToClientPermissionsMapRolesClientScopeScopePtrOutputWithContext

func (o ClientPermissionsMapRolesClientScopeScopePtrOutput) ToClientPermissionsMapRolesClientScopeScopePtrOutputWithContext(ctx context.Context) ClientPermissionsMapRolesClientScopeScopePtrOutput

type ClientPermissionsMapRolesCompositeScope

type ClientPermissionsMapRolesCompositeScope struct {
	DecisionStrategy *string  `pulumi:"decisionStrategy"`
	Description      *string  `pulumi:"description"`
	Policies         []string `pulumi:"policies"`
}

type ClientPermissionsMapRolesCompositeScopeArgs

type ClientPermissionsMapRolesCompositeScopeArgs struct {
	DecisionStrategy pulumi.StringPtrInput   `pulumi:"decisionStrategy"`
	Description      pulumi.StringPtrInput   `pulumi:"description"`
	Policies         pulumi.StringArrayInput `pulumi:"policies"`
}

func (ClientPermissionsMapRolesCompositeScopeArgs) ElementType

func (ClientPermissionsMapRolesCompositeScopeArgs) ToClientPermissionsMapRolesCompositeScopeOutput

func (i ClientPermissionsMapRolesCompositeScopeArgs) ToClientPermissionsMapRolesCompositeScopeOutput() ClientPermissionsMapRolesCompositeScopeOutput

func (ClientPermissionsMapRolesCompositeScopeArgs) ToClientPermissionsMapRolesCompositeScopeOutputWithContext

func (i ClientPermissionsMapRolesCompositeScopeArgs) ToClientPermissionsMapRolesCompositeScopeOutputWithContext(ctx context.Context) ClientPermissionsMapRolesCompositeScopeOutput

func (ClientPermissionsMapRolesCompositeScopeArgs) ToClientPermissionsMapRolesCompositeScopePtrOutput

func (i ClientPermissionsMapRolesCompositeScopeArgs) ToClientPermissionsMapRolesCompositeScopePtrOutput() ClientPermissionsMapRolesCompositeScopePtrOutput

func (ClientPermissionsMapRolesCompositeScopeArgs) ToClientPermissionsMapRolesCompositeScopePtrOutputWithContext

func (i ClientPermissionsMapRolesCompositeScopeArgs) ToClientPermissionsMapRolesCompositeScopePtrOutputWithContext(ctx context.Context) ClientPermissionsMapRolesCompositeScopePtrOutput

type ClientPermissionsMapRolesCompositeScopeInput

type ClientPermissionsMapRolesCompositeScopeInput interface {
	pulumi.Input

	ToClientPermissionsMapRolesCompositeScopeOutput() ClientPermissionsMapRolesCompositeScopeOutput
	ToClientPermissionsMapRolesCompositeScopeOutputWithContext(context.Context) ClientPermissionsMapRolesCompositeScopeOutput
}

ClientPermissionsMapRolesCompositeScopeInput is an input type that accepts ClientPermissionsMapRolesCompositeScopeArgs and ClientPermissionsMapRolesCompositeScopeOutput values. You can construct a concrete instance of `ClientPermissionsMapRolesCompositeScopeInput` via:

ClientPermissionsMapRolesCompositeScopeArgs{...}

type ClientPermissionsMapRolesCompositeScopeOutput

type ClientPermissionsMapRolesCompositeScopeOutput struct{ *pulumi.OutputState }

func (ClientPermissionsMapRolesCompositeScopeOutput) DecisionStrategy

func (ClientPermissionsMapRolesCompositeScopeOutput) Description

func (ClientPermissionsMapRolesCompositeScopeOutput) ElementType

func (ClientPermissionsMapRolesCompositeScopeOutput) Policies

func (ClientPermissionsMapRolesCompositeScopeOutput) ToClientPermissionsMapRolesCompositeScopeOutput

func (o ClientPermissionsMapRolesCompositeScopeOutput) ToClientPermissionsMapRolesCompositeScopeOutput() ClientPermissionsMapRolesCompositeScopeOutput

func (ClientPermissionsMapRolesCompositeScopeOutput) ToClientPermissionsMapRolesCompositeScopeOutputWithContext

func (o ClientPermissionsMapRolesCompositeScopeOutput) ToClientPermissionsMapRolesCompositeScopeOutputWithContext(ctx context.Context) ClientPermissionsMapRolesCompositeScopeOutput

func (ClientPermissionsMapRolesCompositeScopeOutput) ToClientPermissionsMapRolesCompositeScopePtrOutput

func (o ClientPermissionsMapRolesCompositeScopeOutput) ToClientPermissionsMapRolesCompositeScopePtrOutput() ClientPermissionsMapRolesCompositeScopePtrOutput

func (ClientPermissionsMapRolesCompositeScopeOutput) ToClientPermissionsMapRolesCompositeScopePtrOutputWithContext

func (o ClientPermissionsMapRolesCompositeScopeOutput) ToClientPermissionsMapRolesCompositeScopePtrOutputWithContext(ctx context.Context) ClientPermissionsMapRolesCompositeScopePtrOutput

type ClientPermissionsMapRolesCompositeScopePtrInput

type ClientPermissionsMapRolesCompositeScopePtrInput interface {
	pulumi.Input

	ToClientPermissionsMapRolesCompositeScopePtrOutput() ClientPermissionsMapRolesCompositeScopePtrOutput
	ToClientPermissionsMapRolesCompositeScopePtrOutputWithContext(context.Context) ClientPermissionsMapRolesCompositeScopePtrOutput
}

ClientPermissionsMapRolesCompositeScopePtrInput is an input type that accepts ClientPermissionsMapRolesCompositeScopeArgs, ClientPermissionsMapRolesCompositeScopePtr and ClientPermissionsMapRolesCompositeScopePtrOutput values. You can construct a concrete instance of `ClientPermissionsMapRolesCompositeScopePtrInput` via:

        ClientPermissionsMapRolesCompositeScopeArgs{...}

or:

        nil

type ClientPermissionsMapRolesCompositeScopePtrOutput

type ClientPermissionsMapRolesCompositeScopePtrOutput struct{ *pulumi.OutputState }

func (ClientPermissionsMapRolesCompositeScopePtrOutput) DecisionStrategy

func (ClientPermissionsMapRolesCompositeScopePtrOutput) Description

func (ClientPermissionsMapRolesCompositeScopePtrOutput) Elem

func (ClientPermissionsMapRolesCompositeScopePtrOutput) ElementType

func (ClientPermissionsMapRolesCompositeScopePtrOutput) Policies

func (ClientPermissionsMapRolesCompositeScopePtrOutput) ToClientPermissionsMapRolesCompositeScopePtrOutput

func (o ClientPermissionsMapRolesCompositeScopePtrOutput) ToClientPermissionsMapRolesCompositeScopePtrOutput() ClientPermissionsMapRolesCompositeScopePtrOutput

func (ClientPermissionsMapRolesCompositeScopePtrOutput) ToClientPermissionsMapRolesCompositeScopePtrOutputWithContext

func (o ClientPermissionsMapRolesCompositeScopePtrOutput) ToClientPermissionsMapRolesCompositeScopePtrOutputWithContext(ctx context.Context) ClientPermissionsMapRolesCompositeScopePtrOutput

type ClientPermissionsMapRolesScope

type ClientPermissionsMapRolesScope struct {
	DecisionStrategy *string  `pulumi:"decisionStrategy"`
	Description      *string  `pulumi:"description"`
	Policies         []string `pulumi:"policies"`
}

type ClientPermissionsMapRolesScopeArgs

type ClientPermissionsMapRolesScopeArgs struct {
	DecisionStrategy pulumi.StringPtrInput   `pulumi:"decisionStrategy"`
	Description      pulumi.StringPtrInput   `pulumi:"description"`
	Policies         pulumi.StringArrayInput `pulumi:"policies"`
}

func (ClientPermissionsMapRolesScopeArgs) ElementType

func (ClientPermissionsMapRolesScopeArgs) ToClientPermissionsMapRolesScopeOutput

func (i ClientPermissionsMapRolesScopeArgs) ToClientPermissionsMapRolesScopeOutput() ClientPermissionsMapRolesScopeOutput

func (ClientPermissionsMapRolesScopeArgs) ToClientPermissionsMapRolesScopeOutputWithContext

func (i ClientPermissionsMapRolesScopeArgs) ToClientPermissionsMapRolesScopeOutputWithContext(ctx context.Context) ClientPermissionsMapRolesScopeOutput

func (ClientPermissionsMapRolesScopeArgs) ToClientPermissionsMapRolesScopePtrOutput

func (i ClientPermissionsMapRolesScopeArgs) ToClientPermissionsMapRolesScopePtrOutput() ClientPermissionsMapRolesScopePtrOutput

func (ClientPermissionsMapRolesScopeArgs) ToClientPermissionsMapRolesScopePtrOutputWithContext

func (i ClientPermissionsMapRolesScopeArgs) ToClientPermissionsMapRolesScopePtrOutputWithContext(ctx context.Context) ClientPermissionsMapRolesScopePtrOutput

type ClientPermissionsMapRolesScopeInput

type ClientPermissionsMapRolesScopeInput interface {
	pulumi.Input

	ToClientPermissionsMapRolesScopeOutput() ClientPermissionsMapRolesScopeOutput
	ToClientPermissionsMapRolesScopeOutputWithContext(context.Context) ClientPermissionsMapRolesScopeOutput
}

ClientPermissionsMapRolesScopeInput is an input type that accepts ClientPermissionsMapRolesScopeArgs and ClientPermissionsMapRolesScopeOutput values. You can construct a concrete instance of `ClientPermissionsMapRolesScopeInput` via:

ClientPermissionsMapRolesScopeArgs{...}

type ClientPermissionsMapRolesScopeOutput

type ClientPermissionsMapRolesScopeOutput struct{ *pulumi.OutputState }

func (ClientPermissionsMapRolesScopeOutput) DecisionStrategy

func (ClientPermissionsMapRolesScopeOutput) Description

func (ClientPermissionsMapRolesScopeOutput) ElementType

func (ClientPermissionsMapRolesScopeOutput) Policies

func (ClientPermissionsMapRolesScopeOutput) ToClientPermissionsMapRolesScopeOutput

func (o ClientPermissionsMapRolesScopeOutput) ToClientPermissionsMapRolesScopeOutput() ClientPermissionsMapRolesScopeOutput

func (ClientPermissionsMapRolesScopeOutput) ToClientPermissionsMapRolesScopeOutputWithContext

func (o ClientPermissionsMapRolesScopeOutput) ToClientPermissionsMapRolesScopeOutputWithContext(ctx context.Context) ClientPermissionsMapRolesScopeOutput

func (ClientPermissionsMapRolesScopeOutput) ToClientPermissionsMapRolesScopePtrOutput

func (o ClientPermissionsMapRolesScopeOutput) ToClientPermissionsMapRolesScopePtrOutput() ClientPermissionsMapRolesScopePtrOutput

func (ClientPermissionsMapRolesScopeOutput) ToClientPermissionsMapRolesScopePtrOutputWithContext

func (o ClientPermissionsMapRolesScopeOutput) ToClientPermissionsMapRolesScopePtrOutputWithContext(ctx context.Context) ClientPermissionsMapRolesScopePtrOutput

type ClientPermissionsMapRolesScopePtrInput

type ClientPermissionsMapRolesScopePtrInput interface {
	pulumi.Input

	ToClientPermissionsMapRolesScopePtrOutput() ClientPermissionsMapRolesScopePtrOutput
	ToClientPermissionsMapRolesScopePtrOutputWithContext(context.Context) ClientPermissionsMapRolesScopePtrOutput
}

ClientPermissionsMapRolesScopePtrInput is an input type that accepts ClientPermissionsMapRolesScopeArgs, ClientPermissionsMapRolesScopePtr and ClientPermissionsMapRolesScopePtrOutput values. You can construct a concrete instance of `ClientPermissionsMapRolesScopePtrInput` via:

        ClientPermissionsMapRolesScopeArgs{...}

or:

        nil

type ClientPermissionsMapRolesScopePtrOutput

type ClientPermissionsMapRolesScopePtrOutput struct{ *pulumi.OutputState }

func (ClientPermissionsMapRolesScopePtrOutput) DecisionStrategy

func (ClientPermissionsMapRolesScopePtrOutput) Description

func (ClientPermissionsMapRolesScopePtrOutput) Elem

func (ClientPermissionsMapRolesScopePtrOutput) ElementType

func (ClientPermissionsMapRolesScopePtrOutput) Policies

func (ClientPermissionsMapRolesScopePtrOutput) ToClientPermissionsMapRolesScopePtrOutput

func (o ClientPermissionsMapRolesScopePtrOutput) ToClientPermissionsMapRolesScopePtrOutput() ClientPermissionsMapRolesScopePtrOutput

func (ClientPermissionsMapRolesScopePtrOutput) ToClientPermissionsMapRolesScopePtrOutputWithContext

func (o ClientPermissionsMapRolesScopePtrOutput) ToClientPermissionsMapRolesScopePtrOutputWithContext(ctx context.Context) ClientPermissionsMapRolesScopePtrOutput

type ClientPermissionsOutput

type ClientPermissionsOutput struct{ *pulumi.OutputState }

func (ClientPermissionsOutput) AuthorizationResourceServerId

func (o ClientPermissionsOutput) AuthorizationResourceServerId() pulumi.StringOutput

Resource server id representing the realm management client on which this permission is managed

func (ClientPermissionsOutput) ClientId

func (ClientPermissionsOutput) ConfigureScope

func (ClientPermissionsOutput) ElementType

func (ClientPermissionsOutput) ElementType() reflect.Type

func (ClientPermissionsOutput) Enabled

func (ClientPermissionsOutput) ManageScope

func (ClientPermissionsOutput) MapRolesClientScopeScope

func (ClientPermissionsOutput) MapRolesCompositeScope

func (ClientPermissionsOutput) MapRolesScope

func (ClientPermissionsOutput) RealmId

func (ClientPermissionsOutput) ToClientPermissionsOutput

func (o ClientPermissionsOutput) ToClientPermissionsOutput() ClientPermissionsOutput

func (ClientPermissionsOutput) ToClientPermissionsOutputWithContext

func (o ClientPermissionsOutput) ToClientPermissionsOutputWithContext(ctx context.Context) ClientPermissionsOutput

func (ClientPermissionsOutput) TokenExchangeScope

func (ClientPermissionsOutput) ViewScope

type ClientPermissionsState

type ClientPermissionsState struct {
	// Resource server id representing the realm management client on which this permission is managed
	AuthorizationResourceServerId pulumi.StringPtrInput
	ClientId                      pulumi.StringPtrInput
	ConfigureScope                ClientPermissionsConfigureScopePtrInput
	Enabled                       pulumi.BoolPtrInput
	ManageScope                   ClientPermissionsManageScopePtrInput
	MapRolesClientScopeScope      ClientPermissionsMapRolesClientScopeScopePtrInput
	MapRolesCompositeScope        ClientPermissionsMapRolesCompositeScopePtrInput
	MapRolesScope                 ClientPermissionsMapRolesScopePtrInput
	RealmId                       pulumi.StringPtrInput
	TokenExchangeScope            ClientPermissionsTokenExchangeScopePtrInput
	ViewScope                     ClientPermissionsViewScopePtrInput
}

func (ClientPermissionsState) ElementType

func (ClientPermissionsState) ElementType() reflect.Type

type ClientPermissionsTokenExchangeScope

type ClientPermissionsTokenExchangeScope struct {
	DecisionStrategy *string  `pulumi:"decisionStrategy"`
	Description      *string  `pulumi:"description"`
	Policies         []string `pulumi:"policies"`
}

type ClientPermissionsTokenExchangeScopeArgs

type ClientPermissionsTokenExchangeScopeArgs struct {
	DecisionStrategy pulumi.StringPtrInput   `pulumi:"decisionStrategy"`
	Description      pulumi.StringPtrInput   `pulumi:"description"`
	Policies         pulumi.StringArrayInput `pulumi:"policies"`
}

func (ClientPermissionsTokenExchangeScopeArgs) ElementType

func (ClientPermissionsTokenExchangeScopeArgs) ToClientPermissionsTokenExchangeScopeOutput

func (i ClientPermissionsTokenExchangeScopeArgs) ToClientPermissionsTokenExchangeScopeOutput() ClientPermissionsTokenExchangeScopeOutput

func (ClientPermissionsTokenExchangeScopeArgs) ToClientPermissionsTokenExchangeScopeOutputWithContext

func (i ClientPermissionsTokenExchangeScopeArgs) ToClientPermissionsTokenExchangeScopeOutputWithContext(ctx context.Context) ClientPermissionsTokenExchangeScopeOutput

func (ClientPermissionsTokenExchangeScopeArgs) ToClientPermissionsTokenExchangeScopePtrOutput

func (i ClientPermissionsTokenExchangeScopeArgs) ToClientPermissionsTokenExchangeScopePtrOutput() ClientPermissionsTokenExchangeScopePtrOutput

func (ClientPermissionsTokenExchangeScopeArgs) ToClientPermissionsTokenExchangeScopePtrOutputWithContext

func (i ClientPermissionsTokenExchangeScopeArgs) ToClientPermissionsTokenExchangeScopePtrOutputWithContext(ctx context.Context) ClientPermissionsTokenExchangeScopePtrOutput

type ClientPermissionsTokenExchangeScopeInput

type ClientPermissionsTokenExchangeScopeInput interface {
	pulumi.Input

	ToClientPermissionsTokenExchangeScopeOutput() ClientPermissionsTokenExchangeScopeOutput
	ToClientPermissionsTokenExchangeScopeOutputWithContext(context.Context) ClientPermissionsTokenExchangeScopeOutput
}

ClientPermissionsTokenExchangeScopeInput is an input type that accepts ClientPermissionsTokenExchangeScopeArgs and ClientPermissionsTokenExchangeScopeOutput values. You can construct a concrete instance of `ClientPermissionsTokenExchangeScopeInput` via:

ClientPermissionsTokenExchangeScopeArgs{...}

type ClientPermissionsTokenExchangeScopeOutput

type ClientPermissionsTokenExchangeScopeOutput struct{ *pulumi.OutputState }

func (ClientPermissionsTokenExchangeScopeOutput) DecisionStrategy

func (ClientPermissionsTokenExchangeScopeOutput) Description

func (ClientPermissionsTokenExchangeScopeOutput) ElementType

func (ClientPermissionsTokenExchangeScopeOutput) Policies

func (ClientPermissionsTokenExchangeScopeOutput) ToClientPermissionsTokenExchangeScopeOutput

func (o ClientPermissionsTokenExchangeScopeOutput) ToClientPermissionsTokenExchangeScopeOutput() ClientPermissionsTokenExchangeScopeOutput

func (ClientPermissionsTokenExchangeScopeOutput) ToClientPermissionsTokenExchangeScopeOutputWithContext

func (o ClientPermissionsTokenExchangeScopeOutput) ToClientPermissionsTokenExchangeScopeOutputWithContext(ctx context.Context) ClientPermissionsTokenExchangeScopeOutput

func (ClientPermissionsTokenExchangeScopeOutput) ToClientPermissionsTokenExchangeScopePtrOutput

func (o ClientPermissionsTokenExchangeScopeOutput) ToClientPermissionsTokenExchangeScopePtrOutput() ClientPermissionsTokenExchangeScopePtrOutput

func (ClientPermissionsTokenExchangeScopeOutput) ToClientPermissionsTokenExchangeScopePtrOutputWithContext

func (o ClientPermissionsTokenExchangeScopeOutput) ToClientPermissionsTokenExchangeScopePtrOutputWithContext(ctx context.Context) ClientPermissionsTokenExchangeScopePtrOutput

type ClientPermissionsTokenExchangeScopePtrInput

type ClientPermissionsTokenExchangeScopePtrInput interface {
	pulumi.Input

	ToClientPermissionsTokenExchangeScopePtrOutput() ClientPermissionsTokenExchangeScopePtrOutput
	ToClientPermissionsTokenExchangeScopePtrOutputWithContext(context.Context) ClientPermissionsTokenExchangeScopePtrOutput
}

ClientPermissionsTokenExchangeScopePtrInput is an input type that accepts ClientPermissionsTokenExchangeScopeArgs, ClientPermissionsTokenExchangeScopePtr and ClientPermissionsTokenExchangeScopePtrOutput values. You can construct a concrete instance of `ClientPermissionsTokenExchangeScopePtrInput` via:

        ClientPermissionsTokenExchangeScopeArgs{...}

or:

        nil

type ClientPermissionsTokenExchangeScopePtrOutput

type ClientPermissionsTokenExchangeScopePtrOutput struct{ *pulumi.OutputState }

func (ClientPermissionsTokenExchangeScopePtrOutput) DecisionStrategy

func (ClientPermissionsTokenExchangeScopePtrOutput) Description

func (ClientPermissionsTokenExchangeScopePtrOutput) Elem

func (ClientPermissionsTokenExchangeScopePtrOutput) ElementType

func (ClientPermissionsTokenExchangeScopePtrOutput) Policies

func (ClientPermissionsTokenExchangeScopePtrOutput) ToClientPermissionsTokenExchangeScopePtrOutput

func (o ClientPermissionsTokenExchangeScopePtrOutput) ToClientPermissionsTokenExchangeScopePtrOutput() ClientPermissionsTokenExchangeScopePtrOutput

func (ClientPermissionsTokenExchangeScopePtrOutput) ToClientPermissionsTokenExchangeScopePtrOutputWithContext

func (o ClientPermissionsTokenExchangeScopePtrOutput) ToClientPermissionsTokenExchangeScopePtrOutputWithContext(ctx context.Context) ClientPermissionsTokenExchangeScopePtrOutput

type ClientPermissionsViewScope

type ClientPermissionsViewScope struct {
	DecisionStrategy *string  `pulumi:"decisionStrategy"`
	Description      *string  `pulumi:"description"`
	Policies         []string `pulumi:"policies"`
}

type ClientPermissionsViewScopeArgs

type ClientPermissionsViewScopeArgs struct {
	DecisionStrategy pulumi.StringPtrInput   `pulumi:"decisionStrategy"`
	Description      pulumi.StringPtrInput   `pulumi:"description"`
	Policies         pulumi.StringArrayInput `pulumi:"policies"`
}

func (ClientPermissionsViewScopeArgs) ElementType

func (ClientPermissionsViewScopeArgs) ToClientPermissionsViewScopeOutput

func (i ClientPermissionsViewScopeArgs) ToClientPermissionsViewScopeOutput() ClientPermissionsViewScopeOutput

func (ClientPermissionsViewScopeArgs) ToClientPermissionsViewScopeOutputWithContext

func (i ClientPermissionsViewScopeArgs) ToClientPermissionsViewScopeOutputWithContext(ctx context.Context) ClientPermissionsViewScopeOutput

func (ClientPermissionsViewScopeArgs) ToClientPermissionsViewScopePtrOutput

func (i ClientPermissionsViewScopeArgs) ToClientPermissionsViewScopePtrOutput() ClientPermissionsViewScopePtrOutput

func (ClientPermissionsViewScopeArgs) ToClientPermissionsViewScopePtrOutputWithContext

func (i ClientPermissionsViewScopeArgs) ToClientPermissionsViewScopePtrOutputWithContext(ctx context.Context) ClientPermissionsViewScopePtrOutput

type ClientPermissionsViewScopeInput

type ClientPermissionsViewScopeInput interface {
	pulumi.Input

	ToClientPermissionsViewScopeOutput() ClientPermissionsViewScopeOutput
	ToClientPermissionsViewScopeOutputWithContext(context.Context) ClientPermissionsViewScopeOutput
}

ClientPermissionsViewScopeInput is an input type that accepts ClientPermissionsViewScopeArgs and ClientPermissionsViewScopeOutput values. You can construct a concrete instance of `ClientPermissionsViewScopeInput` via:

ClientPermissionsViewScopeArgs{...}

type ClientPermissionsViewScopeOutput

type ClientPermissionsViewScopeOutput struct{ *pulumi.OutputState }

func (ClientPermissionsViewScopeOutput) DecisionStrategy

func (ClientPermissionsViewScopeOutput) Description

func (ClientPermissionsViewScopeOutput) ElementType

func (ClientPermissionsViewScopeOutput) Policies

func (ClientPermissionsViewScopeOutput) ToClientPermissionsViewScopeOutput

func (o ClientPermissionsViewScopeOutput) ToClientPermissionsViewScopeOutput() ClientPermissionsViewScopeOutput

func (ClientPermissionsViewScopeOutput) ToClientPermissionsViewScopeOutputWithContext

func (o ClientPermissionsViewScopeOutput) ToClientPermissionsViewScopeOutputWithContext(ctx context.Context) ClientPermissionsViewScopeOutput

func (ClientPermissionsViewScopeOutput) ToClientPermissionsViewScopePtrOutput

func (o ClientPermissionsViewScopeOutput) ToClientPermissionsViewScopePtrOutput() ClientPermissionsViewScopePtrOutput

func (ClientPermissionsViewScopeOutput) ToClientPermissionsViewScopePtrOutputWithContext

func (o ClientPermissionsViewScopeOutput) ToClientPermissionsViewScopePtrOutputWithContext(ctx context.Context) ClientPermissionsViewScopePtrOutput

type ClientPermissionsViewScopePtrInput

type ClientPermissionsViewScopePtrInput interface {
	pulumi.Input

	ToClientPermissionsViewScopePtrOutput() ClientPermissionsViewScopePtrOutput
	ToClientPermissionsViewScopePtrOutputWithContext(context.Context) ClientPermissionsViewScopePtrOutput
}

ClientPermissionsViewScopePtrInput is an input type that accepts ClientPermissionsViewScopeArgs, ClientPermissionsViewScopePtr and ClientPermissionsViewScopePtrOutput values. You can construct a concrete instance of `ClientPermissionsViewScopePtrInput` via:

        ClientPermissionsViewScopeArgs{...}

or:

        nil

type ClientPermissionsViewScopePtrOutput

type ClientPermissionsViewScopePtrOutput struct{ *pulumi.OutputState }

func (ClientPermissionsViewScopePtrOutput) DecisionStrategy

func (ClientPermissionsViewScopePtrOutput) Description

func (ClientPermissionsViewScopePtrOutput) Elem

func (ClientPermissionsViewScopePtrOutput) ElementType

func (ClientPermissionsViewScopePtrOutput) Policies

func (ClientPermissionsViewScopePtrOutput) ToClientPermissionsViewScopePtrOutput

func (o ClientPermissionsViewScopePtrOutput) ToClientPermissionsViewScopePtrOutput() ClientPermissionsViewScopePtrOutput

func (ClientPermissionsViewScopePtrOutput) ToClientPermissionsViewScopePtrOutputWithContext

func (o ClientPermissionsViewScopePtrOutput) ToClientPermissionsViewScopePtrOutputWithContext(ctx context.Context) ClientPermissionsViewScopePtrOutput

type ClientPolicy

type ClientPolicy struct {
	pulumi.CustomResourceState

	// The clients allowed by this client policy.
	Clients pulumi.StringArrayOutput `pulumi:"clients"`
	// (Computed) Dictates how the policies associated with a given permission are evaluated and how a final decision is obtained. Could be one of `AFFIRMATIVE`, `CONSENSUS`, or `UNANIMOUS`. Applies to permissions.
	DecisionStrategy pulumi.StringPtrOutput `pulumi:"decisionStrategy"`
	// The description of this client policy.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// (Computed) Dictates how the policy decision should be made. Can be either `POSITIVE` or `NEGATIVE`. Applies to policies.
	Logic pulumi.StringPtrOutput `pulumi:"logic"`
	// The name of this client policy.
	Name pulumi.StringOutput `pulumi:"name"`
	// The realm this client policy exists within.
	RealmId pulumi.StringOutput `pulumi:"realmId"`
	// The ID of the resource server this client policy is attached to.
	ResourceServerId pulumi.StringOutput `pulumi:"resourceServerId"`
}

This resource can be used to create client policy.

## Example Usage

In this example, we'll create a new OpenID client, then enabled permissions for the client. A client without permissions disabled cannot be assigned by a client policy. We'll use the `openid.ClientPolicy` resource to create a new client policy, which could be applied to many clients, for a realm and a resource_server_id.

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak"
"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak/openid"
"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
		}
		openidClient, err := openid.NewClient(ctx, "openidClient", &openid.ClientArgs{
			ClientId:               pulumi.String("openid_client"),
			RealmId:                realm.ID(),
			AccessType:             pulumi.String("CONFIDENTIAL"),
			ServiceAccountsEnabled: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		_, err = openid.NewClientPermissions(ctx, "myPermission", &openid.ClientPermissionsArgs{
			RealmId:  realm.ID(),
			ClientId: openidClient.ID(),
		})
		if err != nil {
			return err
		}
		realmManagement, err := openid.LookupClient(ctx, &openid.LookupClientArgs{
			RealmId:  "my-realm",
			ClientId: "realm-management",
		}, nil)
		if err != nil {
			return err
		}
		_, err = openid.NewClientPolicy(ctx, "tokenExchange", &openid.ClientPolicyArgs{
			ResourceServerId: *pulumi.String(realmManagement.Id),
			RealmId:          realm.ID(),
			Logic:            pulumi.String("POSITIVE"),
			DecisionStrategy: pulumi.String("UNANIMOUS"),
			Clients: pulumi.StringArray{
				openidClient.ID(),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

func GetClientPolicy

func GetClientPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ClientPolicyState, opts ...pulumi.ResourceOption) (*ClientPolicy, error)

GetClientPolicy gets an existing ClientPolicy 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 NewClientPolicy

func NewClientPolicy(ctx *pulumi.Context,
	name string, args *ClientPolicyArgs, opts ...pulumi.ResourceOption) (*ClientPolicy, error)

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

func (*ClientPolicy) ElementType

func (*ClientPolicy) ElementType() reflect.Type

func (*ClientPolicy) ToClientPolicyOutput

func (i *ClientPolicy) ToClientPolicyOutput() ClientPolicyOutput

func (*ClientPolicy) ToClientPolicyOutputWithContext

func (i *ClientPolicy) ToClientPolicyOutputWithContext(ctx context.Context) ClientPolicyOutput

type ClientPolicyArgs

type ClientPolicyArgs struct {
	// The clients allowed by this client policy.
	Clients pulumi.StringArrayInput
	// (Computed) Dictates how the policies associated with a given permission are evaluated and how a final decision is obtained. Could be one of `AFFIRMATIVE`, `CONSENSUS`, or `UNANIMOUS`. Applies to permissions.
	DecisionStrategy pulumi.StringPtrInput
	// The description of this client policy.
	Description pulumi.StringPtrInput
	// (Computed) Dictates how the policy decision should be made. Can be either `POSITIVE` or `NEGATIVE`. Applies to policies.
	Logic pulumi.StringPtrInput
	// The name of this client policy.
	Name pulumi.StringPtrInput
	// The realm this client policy exists within.
	RealmId pulumi.StringInput
	// The ID of the resource server this client policy is attached to.
	ResourceServerId pulumi.StringInput
}

The set of arguments for constructing a ClientPolicy resource.

func (ClientPolicyArgs) ElementType

func (ClientPolicyArgs) ElementType() reflect.Type

type ClientPolicyArray

type ClientPolicyArray []ClientPolicyInput

func (ClientPolicyArray) ElementType

func (ClientPolicyArray) ElementType() reflect.Type

func (ClientPolicyArray) ToClientPolicyArrayOutput

func (i ClientPolicyArray) ToClientPolicyArrayOutput() ClientPolicyArrayOutput

func (ClientPolicyArray) ToClientPolicyArrayOutputWithContext

func (i ClientPolicyArray) ToClientPolicyArrayOutputWithContext(ctx context.Context) ClientPolicyArrayOutput

type ClientPolicyArrayInput

type ClientPolicyArrayInput interface {
	pulumi.Input

	ToClientPolicyArrayOutput() ClientPolicyArrayOutput
	ToClientPolicyArrayOutputWithContext(context.Context) ClientPolicyArrayOutput
}

ClientPolicyArrayInput is an input type that accepts ClientPolicyArray and ClientPolicyArrayOutput values. You can construct a concrete instance of `ClientPolicyArrayInput` via:

ClientPolicyArray{ ClientPolicyArgs{...} }

type ClientPolicyArrayOutput

type ClientPolicyArrayOutput struct{ *pulumi.OutputState }

func (ClientPolicyArrayOutput) ElementType

func (ClientPolicyArrayOutput) ElementType() reflect.Type

func (ClientPolicyArrayOutput) Index

func (ClientPolicyArrayOutput) ToClientPolicyArrayOutput

func (o ClientPolicyArrayOutput) ToClientPolicyArrayOutput() ClientPolicyArrayOutput

func (ClientPolicyArrayOutput) ToClientPolicyArrayOutputWithContext

func (o ClientPolicyArrayOutput) ToClientPolicyArrayOutputWithContext(ctx context.Context) ClientPolicyArrayOutput

type ClientPolicyInput

type ClientPolicyInput interface {
	pulumi.Input

	ToClientPolicyOutput() ClientPolicyOutput
	ToClientPolicyOutputWithContext(ctx context.Context) ClientPolicyOutput
}

type ClientPolicyMap

type ClientPolicyMap map[string]ClientPolicyInput

func (ClientPolicyMap) ElementType

func (ClientPolicyMap) ElementType() reflect.Type

func (ClientPolicyMap) ToClientPolicyMapOutput

func (i ClientPolicyMap) ToClientPolicyMapOutput() ClientPolicyMapOutput

func (ClientPolicyMap) ToClientPolicyMapOutputWithContext

func (i ClientPolicyMap) ToClientPolicyMapOutputWithContext(ctx context.Context) ClientPolicyMapOutput

type ClientPolicyMapInput

type ClientPolicyMapInput interface {
	pulumi.Input

	ToClientPolicyMapOutput() ClientPolicyMapOutput
	ToClientPolicyMapOutputWithContext(context.Context) ClientPolicyMapOutput
}

ClientPolicyMapInput is an input type that accepts ClientPolicyMap and ClientPolicyMapOutput values. You can construct a concrete instance of `ClientPolicyMapInput` via:

ClientPolicyMap{ "key": ClientPolicyArgs{...} }

type ClientPolicyMapOutput

type ClientPolicyMapOutput struct{ *pulumi.OutputState }

func (ClientPolicyMapOutput) ElementType

func (ClientPolicyMapOutput) ElementType() reflect.Type

func (ClientPolicyMapOutput) MapIndex

func (ClientPolicyMapOutput) ToClientPolicyMapOutput

func (o ClientPolicyMapOutput) ToClientPolicyMapOutput() ClientPolicyMapOutput

func (ClientPolicyMapOutput) ToClientPolicyMapOutputWithContext

func (o ClientPolicyMapOutput) ToClientPolicyMapOutputWithContext(ctx context.Context) ClientPolicyMapOutput

type ClientPolicyOutput

type ClientPolicyOutput struct{ *pulumi.OutputState }

func (ClientPolicyOutput) Clients

The clients allowed by this client policy.

func (ClientPolicyOutput) DecisionStrategy

func (o ClientPolicyOutput) DecisionStrategy() pulumi.StringPtrOutput

(Computed) Dictates how the policies associated with a given permission are evaluated and how a final decision is obtained. Could be one of `AFFIRMATIVE`, `CONSENSUS`, or `UNANIMOUS`. Applies to permissions.

func (ClientPolicyOutput) Description

func (o ClientPolicyOutput) Description() pulumi.StringPtrOutput

The description of this client policy.

func (ClientPolicyOutput) ElementType

func (ClientPolicyOutput) ElementType() reflect.Type

func (ClientPolicyOutput) Logic

(Computed) Dictates how the policy decision should be made. Can be either `POSITIVE` or `NEGATIVE`. Applies to policies.

func (ClientPolicyOutput) Name

The name of this client policy.

func (ClientPolicyOutput) RealmId

The realm this client policy exists within.

func (ClientPolicyOutput) ResourceServerId

func (o ClientPolicyOutput) ResourceServerId() pulumi.StringOutput

The ID of the resource server this client policy is attached to.

func (ClientPolicyOutput) ToClientPolicyOutput

func (o ClientPolicyOutput) ToClientPolicyOutput() ClientPolicyOutput

func (ClientPolicyOutput) ToClientPolicyOutputWithContext

func (o ClientPolicyOutput) ToClientPolicyOutputWithContext(ctx context.Context) ClientPolicyOutput

type ClientPolicyState

type ClientPolicyState struct {
	// The clients allowed by this client policy.
	Clients pulumi.StringArrayInput
	// (Computed) Dictates how the policies associated with a given permission are evaluated and how a final decision is obtained. Could be one of `AFFIRMATIVE`, `CONSENSUS`, or `UNANIMOUS`. Applies to permissions.
	DecisionStrategy pulumi.StringPtrInput
	// The description of this client policy.
	Description pulumi.StringPtrInput
	// (Computed) Dictates how the policy decision should be made. Can be either `POSITIVE` or `NEGATIVE`. Applies to policies.
	Logic pulumi.StringPtrInput
	// The name of this client policy.
	Name pulumi.StringPtrInput
	// The realm this client policy exists within.
	RealmId pulumi.StringPtrInput
	// The ID of the resource server this client policy is attached to.
	ResourceServerId pulumi.StringPtrInput
}

func (ClientPolicyState) ElementType

func (ClientPolicyState) ElementType() reflect.Type

type ClientRolePolicy

type ClientRolePolicy struct {
	pulumi.CustomResourceState

	DecisionStrategy pulumi.StringPtrOutput          `pulumi:"decisionStrategy"`
	Description      pulumi.StringPtrOutput          `pulumi:"description"`
	Logic            pulumi.StringPtrOutput          `pulumi:"logic"`
	Name             pulumi.StringOutput             `pulumi:"name"`
	RealmId          pulumi.StringOutput             `pulumi:"realmId"`
	ResourceServerId pulumi.StringOutput             `pulumi:"resourceServerId"`
	Roles            ClientRolePolicyRoleArrayOutput `pulumi:"roles"`
	Type             pulumi.StringOutput             `pulumi:"type"`
}

func GetClientRolePolicy

func GetClientRolePolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ClientRolePolicyState, opts ...pulumi.ResourceOption) (*ClientRolePolicy, error)

GetClientRolePolicy gets an existing ClientRolePolicy 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 NewClientRolePolicy

func NewClientRolePolicy(ctx *pulumi.Context,
	name string, args *ClientRolePolicyArgs, opts ...pulumi.ResourceOption) (*ClientRolePolicy, error)

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

func (*ClientRolePolicy) ElementType

func (*ClientRolePolicy) ElementType() reflect.Type

func (*ClientRolePolicy) ToClientRolePolicyOutput

func (i *ClientRolePolicy) ToClientRolePolicyOutput() ClientRolePolicyOutput

func (*ClientRolePolicy) ToClientRolePolicyOutputWithContext

func (i *ClientRolePolicy) ToClientRolePolicyOutputWithContext(ctx context.Context) ClientRolePolicyOutput

type ClientRolePolicyArgs

type ClientRolePolicyArgs struct {
	DecisionStrategy pulumi.StringPtrInput
	Description      pulumi.StringPtrInput
	Logic            pulumi.StringPtrInput
	Name             pulumi.StringPtrInput
	RealmId          pulumi.StringInput
	ResourceServerId pulumi.StringInput
	Roles            ClientRolePolicyRoleArrayInput
	Type             pulumi.StringInput
}

The set of arguments for constructing a ClientRolePolicy resource.

func (ClientRolePolicyArgs) ElementType

func (ClientRolePolicyArgs) ElementType() reflect.Type

type ClientRolePolicyArray

type ClientRolePolicyArray []ClientRolePolicyInput

func (ClientRolePolicyArray) ElementType

func (ClientRolePolicyArray) ElementType() reflect.Type

func (ClientRolePolicyArray) ToClientRolePolicyArrayOutput

func (i ClientRolePolicyArray) ToClientRolePolicyArrayOutput() ClientRolePolicyArrayOutput

func (ClientRolePolicyArray) ToClientRolePolicyArrayOutputWithContext

func (i ClientRolePolicyArray) ToClientRolePolicyArrayOutputWithContext(ctx context.Context) ClientRolePolicyArrayOutput

type ClientRolePolicyArrayInput

type ClientRolePolicyArrayInput interface {
	pulumi.Input

	ToClientRolePolicyArrayOutput() ClientRolePolicyArrayOutput
	ToClientRolePolicyArrayOutputWithContext(context.Context) ClientRolePolicyArrayOutput
}

ClientRolePolicyArrayInput is an input type that accepts ClientRolePolicyArray and ClientRolePolicyArrayOutput values. You can construct a concrete instance of `ClientRolePolicyArrayInput` via:

ClientRolePolicyArray{ ClientRolePolicyArgs{...} }

type ClientRolePolicyArrayOutput

type ClientRolePolicyArrayOutput struct{ *pulumi.OutputState }

func (ClientRolePolicyArrayOutput) ElementType

func (ClientRolePolicyArrayOutput) Index

func (ClientRolePolicyArrayOutput) ToClientRolePolicyArrayOutput

func (o ClientRolePolicyArrayOutput) ToClientRolePolicyArrayOutput() ClientRolePolicyArrayOutput

func (ClientRolePolicyArrayOutput) ToClientRolePolicyArrayOutputWithContext

func (o ClientRolePolicyArrayOutput) ToClientRolePolicyArrayOutputWithContext(ctx context.Context) ClientRolePolicyArrayOutput

type ClientRolePolicyInput

type ClientRolePolicyInput interface {
	pulumi.Input

	ToClientRolePolicyOutput() ClientRolePolicyOutput
	ToClientRolePolicyOutputWithContext(ctx context.Context) ClientRolePolicyOutput
}

type ClientRolePolicyMap

type ClientRolePolicyMap map[string]ClientRolePolicyInput

func (ClientRolePolicyMap) ElementType

func (ClientRolePolicyMap) ElementType() reflect.Type

func (ClientRolePolicyMap) ToClientRolePolicyMapOutput

func (i ClientRolePolicyMap) ToClientRolePolicyMapOutput() ClientRolePolicyMapOutput

func (ClientRolePolicyMap) ToClientRolePolicyMapOutputWithContext

func (i ClientRolePolicyMap) ToClientRolePolicyMapOutputWithContext(ctx context.Context) ClientRolePolicyMapOutput

type ClientRolePolicyMapInput

type ClientRolePolicyMapInput interface {
	pulumi.Input

	ToClientRolePolicyMapOutput() ClientRolePolicyMapOutput
	ToClientRolePolicyMapOutputWithContext(context.Context) ClientRolePolicyMapOutput
}

ClientRolePolicyMapInput is an input type that accepts ClientRolePolicyMap and ClientRolePolicyMapOutput values. You can construct a concrete instance of `ClientRolePolicyMapInput` via:

ClientRolePolicyMap{ "key": ClientRolePolicyArgs{...} }

type ClientRolePolicyMapOutput

type ClientRolePolicyMapOutput struct{ *pulumi.OutputState }

func (ClientRolePolicyMapOutput) ElementType

func (ClientRolePolicyMapOutput) ElementType() reflect.Type

func (ClientRolePolicyMapOutput) MapIndex

func (ClientRolePolicyMapOutput) ToClientRolePolicyMapOutput

func (o ClientRolePolicyMapOutput) ToClientRolePolicyMapOutput() ClientRolePolicyMapOutput

func (ClientRolePolicyMapOutput) ToClientRolePolicyMapOutputWithContext

func (o ClientRolePolicyMapOutput) ToClientRolePolicyMapOutputWithContext(ctx context.Context) ClientRolePolicyMapOutput

type ClientRolePolicyOutput

type ClientRolePolicyOutput struct{ *pulumi.OutputState }

func (ClientRolePolicyOutput) DecisionStrategy

func (o ClientRolePolicyOutput) DecisionStrategy() pulumi.StringPtrOutput

func (ClientRolePolicyOutput) Description

func (ClientRolePolicyOutput) ElementType

func (ClientRolePolicyOutput) ElementType() reflect.Type

func (ClientRolePolicyOutput) Logic

func (ClientRolePolicyOutput) Name

func (ClientRolePolicyOutput) RealmId

func (ClientRolePolicyOutput) ResourceServerId

func (o ClientRolePolicyOutput) ResourceServerId() pulumi.StringOutput

func (ClientRolePolicyOutput) Roles

func (ClientRolePolicyOutput) ToClientRolePolicyOutput

func (o ClientRolePolicyOutput) ToClientRolePolicyOutput() ClientRolePolicyOutput

func (ClientRolePolicyOutput) ToClientRolePolicyOutputWithContext

func (o ClientRolePolicyOutput) ToClientRolePolicyOutputWithContext(ctx context.Context) ClientRolePolicyOutput

func (ClientRolePolicyOutput) Type

type ClientRolePolicyRole

type ClientRolePolicyRole struct {
	Id       string `pulumi:"id"`
	Required bool   `pulumi:"required"`
}

type ClientRolePolicyRoleArgs

type ClientRolePolicyRoleArgs struct {
	Id       pulumi.StringInput `pulumi:"id"`
	Required pulumi.BoolInput   `pulumi:"required"`
}

func (ClientRolePolicyRoleArgs) ElementType

func (ClientRolePolicyRoleArgs) ElementType() reflect.Type

func (ClientRolePolicyRoleArgs) ToClientRolePolicyRoleOutput

func (i ClientRolePolicyRoleArgs) ToClientRolePolicyRoleOutput() ClientRolePolicyRoleOutput

func (ClientRolePolicyRoleArgs) ToClientRolePolicyRoleOutputWithContext

func (i ClientRolePolicyRoleArgs) ToClientRolePolicyRoleOutputWithContext(ctx context.Context) ClientRolePolicyRoleOutput

type ClientRolePolicyRoleArray

type ClientRolePolicyRoleArray []ClientRolePolicyRoleInput

func (ClientRolePolicyRoleArray) ElementType

func (ClientRolePolicyRoleArray) ElementType() reflect.Type

func (ClientRolePolicyRoleArray) ToClientRolePolicyRoleArrayOutput

func (i ClientRolePolicyRoleArray) ToClientRolePolicyRoleArrayOutput() ClientRolePolicyRoleArrayOutput

func (ClientRolePolicyRoleArray) ToClientRolePolicyRoleArrayOutputWithContext

func (i ClientRolePolicyRoleArray) ToClientRolePolicyRoleArrayOutputWithContext(ctx context.Context) ClientRolePolicyRoleArrayOutput

type ClientRolePolicyRoleArrayInput

type ClientRolePolicyRoleArrayInput interface {
	pulumi.Input

	ToClientRolePolicyRoleArrayOutput() ClientRolePolicyRoleArrayOutput
	ToClientRolePolicyRoleArrayOutputWithContext(context.Context) ClientRolePolicyRoleArrayOutput
}

ClientRolePolicyRoleArrayInput is an input type that accepts ClientRolePolicyRoleArray and ClientRolePolicyRoleArrayOutput values. You can construct a concrete instance of `ClientRolePolicyRoleArrayInput` via:

ClientRolePolicyRoleArray{ ClientRolePolicyRoleArgs{...} }

type ClientRolePolicyRoleArrayOutput

type ClientRolePolicyRoleArrayOutput struct{ *pulumi.OutputState }

func (ClientRolePolicyRoleArrayOutput) ElementType

func (ClientRolePolicyRoleArrayOutput) Index

func (ClientRolePolicyRoleArrayOutput) ToClientRolePolicyRoleArrayOutput

func (o ClientRolePolicyRoleArrayOutput) ToClientRolePolicyRoleArrayOutput() ClientRolePolicyRoleArrayOutput

func (ClientRolePolicyRoleArrayOutput) ToClientRolePolicyRoleArrayOutputWithContext

func (o ClientRolePolicyRoleArrayOutput) ToClientRolePolicyRoleArrayOutputWithContext(ctx context.Context) ClientRolePolicyRoleArrayOutput

type ClientRolePolicyRoleInput

type ClientRolePolicyRoleInput interface {
	pulumi.Input

	ToClientRolePolicyRoleOutput() ClientRolePolicyRoleOutput
	ToClientRolePolicyRoleOutputWithContext(context.Context) ClientRolePolicyRoleOutput
}

ClientRolePolicyRoleInput is an input type that accepts ClientRolePolicyRoleArgs and ClientRolePolicyRoleOutput values. You can construct a concrete instance of `ClientRolePolicyRoleInput` via:

ClientRolePolicyRoleArgs{...}

type ClientRolePolicyRoleOutput

type ClientRolePolicyRoleOutput struct{ *pulumi.OutputState }

func (ClientRolePolicyRoleOutput) ElementType

func (ClientRolePolicyRoleOutput) ElementType() reflect.Type

func (ClientRolePolicyRoleOutput) Id

func (ClientRolePolicyRoleOutput) Required

func (ClientRolePolicyRoleOutput) ToClientRolePolicyRoleOutput

func (o ClientRolePolicyRoleOutput) ToClientRolePolicyRoleOutput() ClientRolePolicyRoleOutput

func (ClientRolePolicyRoleOutput) ToClientRolePolicyRoleOutputWithContext

func (o ClientRolePolicyRoleOutput) ToClientRolePolicyRoleOutputWithContext(ctx context.Context) ClientRolePolicyRoleOutput

type ClientRolePolicyState

type ClientRolePolicyState struct {
	DecisionStrategy pulumi.StringPtrInput
	Description      pulumi.StringPtrInput
	Logic            pulumi.StringPtrInput
	Name             pulumi.StringPtrInput
	RealmId          pulumi.StringPtrInput
	ResourceServerId pulumi.StringPtrInput
	Roles            ClientRolePolicyRoleArrayInput
	Type             pulumi.StringPtrInput
}

func (ClientRolePolicyState) ElementType

func (ClientRolePolicyState) ElementType() reflect.Type

type ClientScope

type ClientScope struct {
	pulumi.CustomResourceState

	ConsentScreenText   pulumi.StringPtrOutput `pulumi:"consentScreenText"`
	Description         pulumi.StringPtrOutput `pulumi:"description"`
	GuiOrder            pulumi.IntPtrOutput    `pulumi:"guiOrder"`
	IncludeInTokenScope pulumi.BoolPtrOutput   `pulumi:"includeInTokenScope"`
	Name                pulumi.StringOutput    `pulumi:"name"`
	RealmId             pulumi.StringOutput    `pulumi:"realmId"`
}

## # openid.ClientScope

Allows for creating and managing Keycloak client scopes that can be attached to clients that use the OpenID Connect protocol.

Client Scopes can be used to share common protocol and role mappings between multiple clients within a realm. They can also be used by clients to conditionally request claims or roles for a user based on the OAuth 2.0 `scope` parameter.

### Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak"
"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak/openid"
"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{
			Enabled: pulumi.Bool(true),
			Realm:   pulumi.String("my-realm"),
		})
		if err != nil {
			return err
		}
		_, err = openid.NewClientScope(ctx, "openidClientScope", &openid.ClientScopeArgs{
			Description: pulumi.String("When requested, this scope will map a user's group memberships to a claim"),
			RealmId:     realm.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

### Argument Reference

The following arguments are supported:

  • `realmId` - (Required) The realm this client scope belongs to.
  • `name` - (Required) The display name of this client scope in the GUI.
  • `description` - (Optional) The description of this client scope in the GUI.
  • `consentScreenText` - (Optional) When set, a consent screen will be displayed to users authenticating to clients with this scope attached. The consent screen will display the string value of this attribute.

### Import

Client scopes can be imported using the format `{{realm_id}}/{{client_scope_id}}`, where `clientScopeId` is the unique ID that Keycloak assigns to the client scope upon creation. This value can be found in the URI when editing this client scope in the GUI, and is typically a GUID.

Example:

func GetClientScope

func GetClientScope(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ClientScopeState, opts ...pulumi.ResourceOption) (*ClientScope, error)

GetClientScope gets an existing ClientScope 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 NewClientScope

func NewClientScope(ctx *pulumi.Context,
	name string, args *ClientScopeArgs, opts ...pulumi.ResourceOption) (*ClientScope, error)

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

func (*ClientScope) ElementType

func (*ClientScope) ElementType() reflect.Type

func (*ClientScope) ToClientScopeOutput

func (i *ClientScope) ToClientScopeOutput() ClientScopeOutput

func (*ClientScope) ToClientScopeOutputWithContext

func (i *ClientScope) ToClientScopeOutputWithContext(ctx context.Context) ClientScopeOutput

type ClientScopeArgs

type ClientScopeArgs struct {
	ConsentScreenText   pulumi.StringPtrInput
	Description         pulumi.StringPtrInput
	GuiOrder            pulumi.IntPtrInput
	IncludeInTokenScope pulumi.BoolPtrInput
	Name                pulumi.StringPtrInput
	RealmId             pulumi.StringInput
}

The set of arguments for constructing a ClientScope resource.

func (ClientScopeArgs) ElementType

func (ClientScopeArgs) ElementType() reflect.Type

type ClientScopeArray

type ClientScopeArray []ClientScopeInput

func (ClientScopeArray) ElementType

func (ClientScopeArray) ElementType() reflect.Type

func (ClientScopeArray) ToClientScopeArrayOutput

func (i ClientScopeArray) ToClientScopeArrayOutput() ClientScopeArrayOutput

func (ClientScopeArray) ToClientScopeArrayOutputWithContext

func (i ClientScopeArray) ToClientScopeArrayOutputWithContext(ctx context.Context) ClientScopeArrayOutput

type ClientScopeArrayInput

type ClientScopeArrayInput interface {
	pulumi.Input

	ToClientScopeArrayOutput() ClientScopeArrayOutput
	ToClientScopeArrayOutputWithContext(context.Context) ClientScopeArrayOutput
}

ClientScopeArrayInput is an input type that accepts ClientScopeArray and ClientScopeArrayOutput values. You can construct a concrete instance of `ClientScopeArrayInput` via:

ClientScopeArray{ ClientScopeArgs{...} }

type ClientScopeArrayOutput

type ClientScopeArrayOutput struct{ *pulumi.OutputState }

func (ClientScopeArrayOutput) ElementType

func (ClientScopeArrayOutput) ElementType() reflect.Type

func (ClientScopeArrayOutput) Index

func (ClientScopeArrayOutput) ToClientScopeArrayOutput

func (o ClientScopeArrayOutput) ToClientScopeArrayOutput() ClientScopeArrayOutput

func (ClientScopeArrayOutput) ToClientScopeArrayOutputWithContext

func (o ClientScopeArrayOutput) ToClientScopeArrayOutputWithContext(ctx context.Context) ClientScopeArrayOutput

type ClientScopeInput

type ClientScopeInput interface {
	pulumi.Input

	ToClientScopeOutput() ClientScopeOutput
	ToClientScopeOutputWithContext(ctx context.Context) ClientScopeOutput
}

type ClientScopeMap

type ClientScopeMap map[string]ClientScopeInput

func (ClientScopeMap) ElementType

func (ClientScopeMap) ElementType() reflect.Type

func (ClientScopeMap) ToClientScopeMapOutput

func (i ClientScopeMap) ToClientScopeMapOutput() ClientScopeMapOutput

func (ClientScopeMap) ToClientScopeMapOutputWithContext

func (i ClientScopeMap) ToClientScopeMapOutputWithContext(ctx context.Context) ClientScopeMapOutput

type ClientScopeMapInput

type ClientScopeMapInput interface {
	pulumi.Input

	ToClientScopeMapOutput() ClientScopeMapOutput
	ToClientScopeMapOutputWithContext(context.Context) ClientScopeMapOutput
}

ClientScopeMapInput is an input type that accepts ClientScopeMap and ClientScopeMapOutput values. You can construct a concrete instance of `ClientScopeMapInput` via:

ClientScopeMap{ "key": ClientScopeArgs{...} }

type ClientScopeMapOutput

type ClientScopeMapOutput struct{ *pulumi.OutputState }

func (ClientScopeMapOutput) ElementType

func (ClientScopeMapOutput) ElementType() reflect.Type

func (ClientScopeMapOutput) MapIndex

func (ClientScopeMapOutput) ToClientScopeMapOutput

func (o ClientScopeMapOutput) ToClientScopeMapOutput() ClientScopeMapOutput

func (ClientScopeMapOutput) ToClientScopeMapOutputWithContext

func (o ClientScopeMapOutput) ToClientScopeMapOutputWithContext(ctx context.Context) ClientScopeMapOutput

type ClientScopeOutput

type ClientScopeOutput struct{ *pulumi.OutputState }

func (ClientScopeOutput) ConsentScreenText

func (o ClientScopeOutput) ConsentScreenText() pulumi.StringPtrOutput

func (ClientScopeOutput) Description

func (o ClientScopeOutput) Description() pulumi.StringPtrOutput

func (ClientScopeOutput) ElementType

func (ClientScopeOutput) ElementType() reflect.Type

func (ClientScopeOutput) GuiOrder

func (o ClientScopeOutput) GuiOrder() pulumi.IntPtrOutput

func (ClientScopeOutput) IncludeInTokenScope

func (o ClientScopeOutput) IncludeInTokenScope() pulumi.BoolPtrOutput

func (ClientScopeOutput) Name

func (ClientScopeOutput) RealmId

func (ClientScopeOutput) ToClientScopeOutput

func (o ClientScopeOutput) ToClientScopeOutput() ClientScopeOutput

func (ClientScopeOutput) ToClientScopeOutputWithContext

func (o ClientScopeOutput) ToClientScopeOutputWithContext(ctx context.Context) ClientScopeOutput

type ClientScopeState

type ClientScopeState struct {
	ConsentScreenText   pulumi.StringPtrInput
	Description         pulumi.StringPtrInput
	GuiOrder            pulumi.IntPtrInput
	IncludeInTokenScope pulumi.BoolPtrInput
	Name                pulumi.StringPtrInput
	RealmId             pulumi.StringPtrInput
}

func (ClientScopeState) ElementType

func (ClientScopeState) ElementType() reflect.Type

type ClientServiceAccountRealmRole

type ClientServiceAccountRealmRole struct {
	pulumi.CustomResourceState

	// The realm that the client and role belong to.
	RealmId pulumi.StringOutput `pulumi:"realmId"`
	// The name of the role that is assigned.
	Role pulumi.StringOutput `pulumi:"role"`
	// The id of the service account that is assigned the role (the service account of the client that "consumes" the role).
	ServiceAccountUserId pulumi.StringOutput `pulumi:"serviceAccountUserId"`
}

Allows for assigning realm roles to the service account of an openid client. You need to set `serviceAccountsEnabled` to `true` for the openid client that should be assigned the role.

If you'd like to attach client roles to a service account, please use the `openid.ClientServiceAccountRole` resource.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak"
"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak/openid"
"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
		}
		realmRole, err := keycloak.NewRole(ctx, "realmRole", &keycloak.RoleArgs{
			RealmId: realm.ID(),
		})
		if err != nil {
			return err
		}
		client, err := openid.NewClient(ctx, "client", &openid.ClientArgs{
			RealmId:                realm.ID(),
			ServiceAccountsEnabled: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		_, err = openid.NewClientServiceAccountRealmRole(ctx, "clientServiceAccountRole", &openid.ClientServiceAccountRealmRoleArgs{
			RealmId:              realm.ID(),
			ServiceAccountUserId: client.ServiceAccountUserId,
			Role:                 realmRole.Name,
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

This resource can be imported using the format `{{realmId}}/{{serviceAccountUserId}}/{{roleId}}`.

Example:

bash

```sh $ pulumi import keycloak:openid/clientServiceAccountRealmRole:ClientServiceAccountRealmRole client_service_account_role my-realm/489ba513-1ceb-49ba-ae0b-1ab1f5099ebf/c7230ab7-8e4e-4135-995d-e81b50696ad8 ```

func GetClientServiceAccountRealmRole

func GetClientServiceAccountRealmRole(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ClientServiceAccountRealmRoleState, opts ...pulumi.ResourceOption) (*ClientServiceAccountRealmRole, error)

GetClientServiceAccountRealmRole gets an existing ClientServiceAccountRealmRole 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 NewClientServiceAccountRealmRole

func NewClientServiceAccountRealmRole(ctx *pulumi.Context,
	name string, args *ClientServiceAccountRealmRoleArgs, opts ...pulumi.ResourceOption) (*ClientServiceAccountRealmRole, error)

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

func (*ClientServiceAccountRealmRole) ElementType

func (*ClientServiceAccountRealmRole) ToClientServiceAccountRealmRoleOutput

func (i *ClientServiceAccountRealmRole) ToClientServiceAccountRealmRoleOutput() ClientServiceAccountRealmRoleOutput

func (*ClientServiceAccountRealmRole) ToClientServiceAccountRealmRoleOutputWithContext

func (i *ClientServiceAccountRealmRole) ToClientServiceAccountRealmRoleOutputWithContext(ctx context.Context) ClientServiceAccountRealmRoleOutput

type ClientServiceAccountRealmRoleArgs

type ClientServiceAccountRealmRoleArgs struct {
	// The realm that the client and role belong to.
	RealmId pulumi.StringInput
	// The name of the role that is assigned.
	Role pulumi.StringInput
	// The id of the service account that is assigned the role (the service account of the client that "consumes" the role).
	ServiceAccountUserId pulumi.StringInput
}

The set of arguments for constructing a ClientServiceAccountRealmRole resource.

func (ClientServiceAccountRealmRoleArgs) ElementType

type ClientServiceAccountRealmRoleArray

type ClientServiceAccountRealmRoleArray []ClientServiceAccountRealmRoleInput

func (ClientServiceAccountRealmRoleArray) ElementType

func (ClientServiceAccountRealmRoleArray) ToClientServiceAccountRealmRoleArrayOutput

func (i ClientServiceAccountRealmRoleArray) ToClientServiceAccountRealmRoleArrayOutput() ClientServiceAccountRealmRoleArrayOutput

func (ClientServiceAccountRealmRoleArray) ToClientServiceAccountRealmRoleArrayOutputWithContext

func (i ClientServiceAccountRealmRoleArray) ToClientServiceAccountRealmRoleArrayOutputWithContext(ctx context.Context) ClientServiceAccountRealmRoleArrayOutput

type ClientServiceAccountRealmRoleArrayInput

type ClientServiceAccountRealmRoleArrayInput interface {
	pulumi.Input

	ToClientServiceAccountRealmRoleArrayOutput() ClientServiceAccountRealmRoleArrayOutput
	ToClientServiceAccountRealmRoleArrayOutputWithContext(context.Context) ClientServiceAccountRealmRoleArrayOutput
}

ClientServiceAccountRealmRoleArrayInput is an input type that accepts ClientServiceAccountRealmRoleArray and ClientServiceAccountRealmRoleArrayOutput values. You can construct a concrete instance of `ClientServiceAccountRealmRoleArrayInput` via:

ClientServiceAccountRealmRoleArray{ ClientServiceAccountRealmRoleArgs{...} }

type ClientServiceAccountRealmRoleArrayOutput

type ClientServiceAccountRealmRoleArrayOutput struct{ *pulumi.OutputState }

func (ClientServiceAccountRealmRoleArrayOutput) ElementType

func (ClientServiceAccountRealmRoleArrayOutput) Index

func (ClientServiceAccountRealmRoleArrayOutput) ToClientServiceAccountRealmRoleArrayOutput

func (o ClientServiceAccountRealmRoleArrayOutput) ToClientServiceAccountRealmRoleArrayOutput() ClientServiceAccountRealmRoleArrayOutput

func (ClientServiceAccountRealmRoleArrayOutput) ToClientServiceAccountRealmRoleArrayOutputWithContext

func (o ClientServiceAccountRealmRoleArrayOutput) ToClientServiceAccountRealmRoleArrayOutputWithContext(ctx context.Context) ClientServiceAccountRealmRoleArrayOutput

type ClientServiceAccountRealmRoleInput

type ClientServiceAccountRealmRoleInput interface {
	pulumi.Input

	ToClientServiceAccountRealmRoleOutput() ClientServiceAccountRealmRoleOutput
	ToClientServiceAccountRealmRoleOutputWithContext(ctx context.Context) ClientServiceAccountRealmRoleOutput
}

type ClientServiceAccountRealmRoleMap

type ClientServiceAccountRealmRoleMap map[string]ClientServiceAccountRealmRoleInput

func (ClientServiceAccountRealmRoleMap) ElementType

func (ClientServiceAccountRealmRoleMap) ToClientServiceAccountRealmRoleMapOutput

func (i ClientServiceAccountRealmRoleMap) ToClientServiceAccountRealmRoleMapOutput() ClientServiceAccountRealmRoleMapOutput

func (ClientServiceAccountRealmRoleMap) ToClientServiceAccountRealmRoleMapOutputWithContext

func (i ClientServiceAccountRealmRoleMap) ToClientServiceAccountRealmRoleMapOutputWithContext(ctx context.Context) ClientServiceAccountRealmRoleMapOutput

type ClientServiceAccountRealmRoleMapInput

type ClientServiceAccountRealmRoleMapInput interface {
	pulumi.Input

	ToClientServiceAccountRealmRoleMapOutput() ClientServiceAccountRealmRoleMapOutput
	ToClientServiceAccountRealmRoleMapOutputWithContext(context.Context) ClientServiceAccountRealmRoleMapOutput
}

ClientServiceAccountRealmRoleMapInput is an input type that accepts ClientServiceAccountRealmRoleMap and ClientServiceAccountRealmRoleMapOutput values. You can construct a concrete instance of `ClientServiceAccountRealmRoleMapInput` via:

ClientServiceAccountRealmRoleMap{ "key": ClientServiceAccountRealmRoleArgs{...} }

type ClientServiceAccountRealmRoleMapOutput

type ClientServiceAccountRealmRoleMapOutput struct{ *pulumi.OutputState }

func (ClientServiceAccountRealmRoleMapOutput) ElementType

func (ClientServiceAccountRealmRoleMapOutput) MapIndex

func (ClientServiceAccountRealmRoleMapOutput) ToClientServiceAccountRealmRoleMapOutput

func (o ClientServiceAccountRealmRoleMapOutput) ToClientServiceAccountRealmRoleMapOutput() ClientServiceAccountRealmRoleMapOutput

func (ClientServiceAccountRealmRoleMapOutput) ToClientServiceAccountRealmRoleMapOutputWithContext

func (o ClientServiceAccountRealmRoleMapOutput) ToClientServiceAccountRealmRoleMapOutputWithContext(ctx context.Context) ClientServiceAccountRealmRoleMapOutput

type ClientServiceAccountRealmRoleOutput

type ClientServiceAccountRealmRoleOutput struct{ *pulumi.OutputState }

func (ClientServiceAccountRealmRoleOutput) ElementType

func (ClientServiceAccountRealmRoleOutput) RealmId

The realm that the client and role belong to.

func (ClientServiceAccountRealmRoleOutput) Role

The name of the role that is assigned.

func (ClientServiceAccountRealmRoleOutput) ServiceAccountUserId

func (o ClientServiceAccountRealmRoleOutput) ServiceAccountUserId() pulumi.StringOutput

The id of the service account that is assigned the role (the service account of the client that "consumes" the role).

func (ClientServiceAccountRealmRoleOutput) ToClientServiceAccountRealmRoleOutput

func (o ClientServiceAccountRealmRoleOutput) ToClientServiceAccountRealmRoleOutput() ClientServiceAccountRealmRoleOutput

func (ClientServiceAccountRealmRoleOutput) ToClientServiceAccountRealmRoleOutputWithContext

func (o ClientServiceAccountRealmRoleOutput) ToClientServiceAccountRealmRoleOutputWithContext(ctx context.Context) ClientServiceAccountRealmRoleOutput

type ClientServiceAccountRealmRoleState

type ClientServiceAccountRealmRoleState struct {
	// The realm that the client and role belong to.
	RealmId pulumi.StringPtrInput
	// The name of the role that is assigned.
	Role pulumi.StringPtrInput
	// The id of the service account that is assigned the role (the service account of the client that "consumes" the role).
	ServiceAccountUserId pulumi.StringPtrInput
}

func (ClientServiceAccountRealmRoleState) ElementType

type ClientServiceAccountRole

type ClientServiceAccountRole struct {
	pulumi.CustomResourceState

	// The id of the client that provides the role.
	ClientId pulumi.StringOutput `pulumi:"clientId"`
	// The realm the clients and roles belong to.
	RealmId pulumi.StringOutput `pulumi:"realmId"`
	// The name of the role that is assigned.
	Role pulumi.StringOutput `pulumi:"role"`
	// The id of the service account that is assigned the role (the service account of the client that "consumes" the role).
	ServiceAccountUserId pulumi.StringOutput `pulumi:"serviceAccountUserId"`
}

Allows for assigning client roles to the service account of an openid client. You need to set `serviceAccountsEnabled` to `true` for the openid client that should be assigned the role.

If you'd like to attach realm roles to a service account, please use the `openid.ClientServiceAccountRealmRole` resource.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak"
"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak/openid"
"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
		}
		// client1 provides a role to other clients
		client1, err := openid.NewClient(ctx, "client1", &openid.ClientArgs{
			RealmId: realm.ID(),
		})
		if err != nil {
			return err
		}
		client1Role, err := keycloak.NewRole(ctx, "client1Role", &keycloak.RoleArgs{
			RealmId:     realm.ID(),
			ClientId:    client1.ID(),
			Description: pulumi.String("A role that client1 provides"),
		})
		if err != nil {
			return err
		}
		// client2 is assigned the role of client1
		client2, err := openid.NewClient(ctx, "client2", &openid.ClientArgs{
			RealmId:                realm.ID(),
			ServiceAccountsEnabled: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		_, err = openid.NewClientServiceAccountRole(ctx, "client2ServiceAccountRole", &openid.ClientServiceAccountRoleArgs{
			RealmId:              realm.ID(),
			ServiceAccountUserId: client2.ServiceAccountUserId,
			ClientId:             client1.ID(),
			Role:                 client1Role.Name,
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

This resource can be imported using the format `{{realmId}}/{{serviceAccountUserId}}/{{clientId}}/{{roleId}}`.

Example:

bash

```sh $ pulumi import keycloak:openid/clientServiceAccountRole:ClientServiceAccountRole client2_service_account_role my-realm/489ba513-1ceb-49ba-ae0b-1ab1f5099ebf/baf01820-0f8b-4494-9be2-fb3bc8a397a4/c7230ab7-8e4e-4135-995d-e81b50696ad8 ```

func GetClientServiceAccountRole

func GetClientServiceAccountRole(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ClientServiceAccountRoleState, opts ...pulumi.ResourceOption) (*ClientServiceAccountRole, error)

GetClientServiceAccountRole gets an existing ClientServiceAccountRole 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 NewClientServiceAccountRole

func NewClientServiceAccountRole(ctx *pulumi.Context,
	name string, args *ClientServiceAccountRoleArgs, opts ...pulumi.ResourceOption) (*ClientServiceAccountRole, error)

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

func (*ClientServiceAccountRole) ElementType

func (*ClientServiceAccountRole) ElementType() reflect.Type

func (*ClientServiceAccountRole) ToClientServiceAccountRoleOutput

func (i *ClientServiceAccountRole) ToClientServiceAccountRoleOutput() ClientServiceAccountRoleOutput

func (*ClientServiceAccountRole) ToClientServiceAccountRoleOutputWithContext

func (i *ClientServiceAccountRole) ToClientServiceAccountRoleOutputWithContext(ctx context.Context) ClientServiceAccountRoleOutput

type ClientServiceAccountRoleArgs

type ClientServiceAccountRoleArgs struct {
	// The id of the client that provides the role.
	ClientId pulumi.StringInput
	// The realm the clients and roles belong to.
	RealmId pulumi.StringInput
	// The name of the role that is assigned.
	Role pulumi.StringInput
	// The id of the service account that is assigned the role (the service account of the client that "consumes" the role).
	ServiceAccountUserId pulumi.StringInput
}

The set of arguments for constructing a ClientServiceAccountRole resource.

func (ClientServiceAccountRoleArgs) ElementType

type ClientServiceAccountRoleArray

type ClientServiceAccountRoleArray []ClientServiceAccountRoleInput

func (ClientServiceAccountRoleArray) ElementType

func (ClientServiceAccountRoleArray) ToClientServiceAccountRoleArrayOutput

func (i ClientServiceAccountRoleArray) ToClientServiceAccountRoleArrayOutput() ClientServiceAccountRoleArrayOutput

func (ClientServiceAccountRoleArray) ToClientServiceAccountRoleArrayOutputWithContext

func (i ClientServiceAccountRoleArray) ToClientServiceAccountRoleArrayOutputWithContext(ctx context.Context) ClientServiceAccountRoleArrayOutput

type ClientServiceAccountRoleArrayInput

type ClientServiceAccountRoleArrayInput interface {
	pulumi.Input

	ToClientServiceAccountRoleArrayOutput() ClientServiceAccountRoleArrayOutput
	ToClientServiceAccountRoleArrayOutputWithContext(context.Context) ClientServiceAccountRoleArrayOutput
}

ClientServiceAccountRoleArrayInput is an input type that accepts ClientServiceAccountRoleArray and ClientServiceAccountRoleArrayOutput values. You can construct a concrete instance of `ClientServiceAccountRoleArrayInput` via:

ClientServiceAccountRoleArray{ ClientServiceAccountRoleArgs{...} }

type ClientServiceAccountRoleArrayOutput

type ClientServiceAccountRoleArrayOutput struct{ *pulumi.OutputState }

func (ClientServiceAccountRoleArrayOutput) ElementType

func (ClientServiceAccountRoleArrayOutput) Index

func (ClientServiceAccountRoleArrayOutput) ToClientServiceAccountRoleArrayOutput

func (o ClientServiceAccountRoleArrayOutput) ToClientServiceAccountRoleArrayOutput() ClientServiceAccountRoleArrayOutput

func (ClientServiceAccountRoleArrayOutput) ToClientServiceAccountRoleArrayOutputWithContext

func (o ClientServiceAccountRoleArrayOutput) ToClientServiceAccountRoleArrayOutputWithContext(ctx context.Context) ClientServiceAccountRoleArrayOutput

type ClientServiceAccountRoleInput

type ClientServiceAccountRoleInput interface {
	pulumi.Input

	ToClientServiceAccountRoleOutput() ClientServiceAccountRoleOutput
	ToClientServiceAccountRoleOutputWithContext(ctx context.Context) ClientServiceAccountRoleOutput
}

type ClientServiceAccountRoleMap

type ClientServiceAccountRoleMap map[string]ClientServiceAccountRoleInput

func (ClientServiceAccountRoleMap) ElementType

func (ClientServiceAccountRoleMap) ToClientServiceAccountRoleMapOutput

func (i ClientServiceAccountRoleMap) ToClientServiceAccountRoleMapOutput() ClientServiceAccountRoleMapOutput

func (ClientServiceAccountRoleMap) ToClientServiceAccountRoleMapOutputWithContext

func (i ClientServiceAccountRoleMap) ToClientServiceAccountRoleMapOutputWithContext(ctx context.Context) ClientServiceAccountRoleMapOutput

type ClientServiceAccountRoleMapInput

type ClientServiceAccountRoleMapInput interface {
	pulumi.Input

	ToClientServiceAccountRoleMapOutput() ClientServiceAccountRoleMapOutput
	ToClientServiceAccountRoleMapOutputWithContext(context.Context) ClientServiceAccountRoleMapOutput
}

ClientServiceAccountRoleMapInput is an input type that accepts ClientServiceAccountRoleMap and ClientServiceAccountRoleMapOutput values. You can construct a concrete instance of `ClientServiceAccountRoleMapInput` via:

ClientServiceAccountRoleMap{ "key": ClientServiceAccountRoleArgs{...} }

type ClientServiceAccountRoleMapOutput

type ClientServiceAccountRoleMapOutput struct{ *pulumi.OutputState }

func (ClientServiceAccountRoleMapOutput) ElementType

func (ClientServiceAccountRoleMapOutput) MapIndex

func (ClientServiceAccountRoleMapOutput) ToClientServiceAccountRoleMapOutput

func (o ClientServiceAccountRoleMapOutput) ToClientServiceAccountRoleMapOutput() ClientServiceAccountRoleMapOutput

func (ClientServiceAccountRoleMapOutput) ToClientServiceAccountRoleMapOutputWithContext

func (o ClientServiceAccountRoleMapOutput) ToClientServiceAccountRoleMapOutputWithContext(ctx context.Context) ClientServiceAccountRoleMapOutput

type ClientServiceAccountRoleOutput

type ClientServiceAccountRoleOutput struct{ *pulumi.OutputState }

func (ClientServiceAccountRoleOutput) ClientId

The id of the client that provides the role.

func (ClientServiceAccountRoleOutput) ElementType

func (ClientServiceAccountRoleOutput) RealmId

The realm the clients and roles belong to.

func (ClientServiceAccountRoleOutput) Role

The name of the role that is assigned.

func (ClientServiceAccountRoleOutput) ServiceAccountUserId

func (o ClientServiceAccountRoleOutput) ServiceAccountUserId() pulumi.StringOutput

The id of the service account that is assigned the role (the service account of the client that "consumes" the role).

func (ClientServiceAccountRoleOutput) ToClientServiceAccountRoleOutput

func (o ClientServiceAccountRoleOutput) ToClientServiceAccountRoleOutput() ClientServiceAccountRoleOutput

func (ClientServiceAccountRoleOutput) ToClientServiceAccountRoleOutputWithContext

func (o ClientServiceAccountRoleOutput) ToClientServiceAccountRoleOutputWithContext(ctx context.Context) ClientServiceAccountRoleOutput

type ClientServiceAccountRoleState

type ClientServiceAccountRoleState struct {
	// The id of the client that provides the role.
	ClientId pulumi.StringPtrInput
	// The realm the clients and roles belong to.
	RealmId pulumi.StringPtrInput
	// The name of the role that is assigned.
	Role pulumi.StringPtrInput
	// The id of the service account that is assigned the role (the service account of the client that "consumes" the role).
	ServiceAccountUserId pulumi.StringPtrInput
}

func (ClientServiceAccountRoleState) ElementType

type ClientState

type ClientState struct {
	AccessTokenLifespan                    pulumi.StringPtrInput
	AccessType                             pulumi.StringPtrInput
	AdminUrl                               pulumi.StringPtrInput
	AuthenticationFlowBindingOverrides     ClientAuthenticationFlowBindingOverridesPtrInput
	Authorization                          ClientAuthorizationPtrInput
	BackchannelLogoutRevokeOfflineSessions pulumi.BoolPtrInput
	BackchannelLogoutSessionRequired       pulumi.BoolPtrInput
	BackchannelLogoutUrl                   pulumi.StringPtrInput
	BaseUrl                                pulumi.StringPtrInput
	ClientAuthenticatorType                pulumi.StringPtrInput
	ClientId                               pulumi.StringPtrInput
	ClientOfflineSessionIdleTimeout        pulumi.StringPtrInput
	ClientOfflineSessionMaxLifespan        pulumi.StringPtrInput
	ClientSecret                           pulumi.StringPtrInput
	ClientSessionIdleTimeout               pulumi.StringPtrInput
	ClientSessionMaxLifespan               pulumi.StringPtrInput
	ConsentRequired                        pulumi.BoolPtrInput
	ConsentScreenText                      pulumi.StringPtrInput
	Description                            pulumi.StringPtrInput
	DirectAccessGrantsEnabled              pulumi.BoolPtrInput
	DisplayOnConsentScreen                 pulumi.BoolPtrInput
	Enabled                                pulumi.BoolPtrInput
	ExcludeSessionStateFromAuthResponse    pulumi.BoolPtrInput
	ExtraConfig                            pulumi.MapInput
	FrontchannelLogoutEnabled              pulumi.BoolPtrInput
	FrontchannelLogoutUrl                  pulumi.StringPtrInput
	FullScopeAllowed                       pulumi.BoolPtrInput
	ImplicitFlowEnabled                    pulumi.BoolPtrInput
	Import                                 pulumi.BoolPtrInput
	LoginTheme                             pulumi.StringPtrInput
	Name                                   pulumi.StringPtrInput
	Oauth2DeviceAuthorizationGrantEnabled  pulumi.BoolPtrInput
	Oauth2DeviceCodeLifespan               pulumi.StringPtrInput
	Oauth2DevicePollingInterval            pulumi.StringPtrInput
	PkceCodeChallengeMethod                pulumi.StringPtrInput
	RealmId                                pulumi.StringPtrInput
	ResourceServerId                       pulumi.StringPtrInput
	RootUrl                                pulumi.StringPtrInput
	ServiceAccountUserId                   pulumi.StringPtrInput
	ServiceAccountsEnabled                 pulumi.BoolPtrInput
	StandardFlowEnabled                    pulumi.BoolPtrInput
	UseRefreshTokens                       pulumi.BoolPtrInput
	UseRefreshTokensClientCredentials      pulumi.BoolPtrInput
	ValidPostLogoutRedirectUris            pulumi.StringArrayInput
	ValidRedirectUris                      pulumi.StringArrayInput
	WebOrigins                             pulumi.StringArrayInput
}

func (ClientState) ElementType

func (ClientState) ElementType() reflect.Type

type ClientTimePolicy

type ClientTimePolicy struct {
	pulumi.CustomResourceState

	DayMonth         pulumi.StringPtrOutput `pulumi:"dayMonth"`
	DayMonthEnd      pulumi.StringPtrOutput `pulumi:"dayMonthEnd"`
	DecisionStrategy pulumi.StringOutput    `pulumi:"decisionStrategy"`
	Description      pulumi.StringPtrOutput `pulumi:"description"`
	Hour             pulumi.StringPtrOutput `pulumi:"hour"`
	HourEnd          pulumi.StringPtrOutput `pulumi:"hourEnd"`
	Logic            pulumi.StringPtrOutput `pulumi:"logic"`
	Minute           pulumi.StringPtrOutput `pulumi:"minute"`
	MinuteEnd        pulumi.StringPtrOutput `pulumi:"minuteEnd"`
	Month            pulumi.StringPtrOutput `pulumi:"month"`
	MonthEnd         pulumi.StringPtrOutput `pulumi:"monthEnd"`
	Name             pulumi.StringOutput    `pulumi:"name"`
	NotBefore        pulumi.StringPtrOutput `pulumi:"notBefore"`
	NotOnOrAfter     pulumi.StringPtrOutput `pulumi:"notOnOrAfter"`
	RealmId          pulumi.StringOutput    `pulumi:"realmId"`
	ResourceServerId pulumi.StringOutput    `pulumi:"resourceServerId"`
	Year             pulumi.StringPtrOutput `pulumi:"year"`
	YearEnd          pulumi.StringPtrOutput `pulumi:"yearEnd"`
}

func GetClientTimePolicy

func GetClientTimePolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ClientTimePolicyState, opts ...pulumi.ResourceOption) (*ClientTimePolicy, error)

GetClientTimePolicy gets an existing ClientTimePolicy 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 NewClientTimePolicy

func NewClientTimePolicy(ctx *pulumi.Context,
	name string, args *ClientTimePolicyArgs, opts ...pulumi.ResourceOption) (*ClientTimePolicy, error)

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

func (*ClientTimePolicy) ElementType

func (*ClientTimePolicy) ElementType() reflect.Type

func (*ClientTimePolicy) ToClientTimePolicyOutput

func (i *ClientTimePolicy) ToClientTimePolicyOutput() ClientTimePolicyOutput

func (*ClientTimePolicy) ToClientTimePolicyOutputWithContext

func (i *ClientTimePolicy) ToClientTimePolicyOutputWithContext(ctx context.Context) ClientTimePolicyOutput

type ClientTimePolicyArgs

type ClientTimePolicyArgs struct {
	DayMonth         pulumi.StringPtrInput
	DayMonthEnd      pulumi.StringPtrInput
	DecisionStrategy pulumi.StringInput
	Description      pulumi.StringPtrInput
	Hour             pulumi.StringPtrInput
	HourEnd          pulumi.StringPtrInput
	Logic            pulumi.StringPtrInput
	Minute           pulumi.StringPtrInput
	MinuteEnd        pulumi.StringPtrInput
	Month            pulumi.StringPtrInput
	MonthEnd         pulumi.StringPtrInput
	Name             pulumi.StringPtrInput
	NotBefore        pulumi.StringPtrInput
	NotOnOrAfter     pulumi.StringPtrInput
	RealmId          pulumi.StringInput
	ResourceServerId pulumi.StringInput
	Year             pulumi.StringPtrInput
	YearEnd          pulumi.StringPtrInput
}

The set of arguments for constructing a ClientTimePolicy resource.

func (ClientTimePolicyArgs) ElementType

func (ClientTimePolicyArgs) ElementType() reflect.Type

type ClientTimePolicyArray

type ClientTimePolicyArray []ClientTimePolicyInput

func (ClientTimePolicyArray) ElementType

func (ClientTimePolicyArray) ElementType() reflect.Type

func (ClientTimePolicyArray) ToClientTimePolicyArrayOutput

func (i ClientTimePolicyArray) ToClientTimePolicyArrayOutput() ClientTimePolicyArrayOutput

func (ClientTimePolicyArray) ToClientTimePolicyArrayOutputWithContext

func (i ClientTimePolicyArray) ToClientTimePolicyArrayOutputWithContext(ctx context.Context) ClientTimePolicyArrayOutput

type ClientTimePolicyArrayInput

type ClientTimePolicyArrayInput interface {
	pulumi.Input

	ToClientTimePolicyArrayOutput() ClientTimePolicyArrayOutput
	ToClientTimePolicyArrayOutputWithContext(context.Context) ClientTimePolicyArrayOutput
}

ClientTimePolicyArrayInput is an input type that accepts ClientTimePolicyArray and ClientTimePolicyArrayOutput values. You can construct a concrete instance of `ClientTimePolicyArrayInput` via:

ClientTimePolicyArray{ ClientTimePolicyArgs{...} }

type ClientTimePolicyArrayOutput

type ClientTimePolicyArrayOutput struct{ *pulumi.OutputState }

func (ClientTimePolicyArrayOutput) ElementType

func (ClientTimePolicyArrayOutput) Index

func (ClientTimePolicyArrayOutput) ToClientTimePolicyArrayOutput

func (o ClientTimePolicyArrayOutput) ToClientTimePolicyArrayOutput() ClientTimePolicyArrayOutput

func (ClientTimePolicyArrayOutput) ToClientTimePolicyArrayOutputWithContext

func (o ClientTimePolicyArrayOutput) ToClientTimePolicyArrayOutputWithContext(ctx context.Context) ClientTimePolicyArrayOutput

type ClientTimePolicyInput

type ClientTimePolicyInput interface {
	pulumi.Input

	ToClientTimePolicyOutput() ClientTimePolicyOutput
	ToClientTimePolicyOutputWithContext(ctx context.Context) ClientTimePolicyOutput
}

type ClientTimePolicyMap

type ClientTimePolicyMap map[string]ClientTimePolicyInput

func (ClientTimePolicyMap) ElementType

func (ClientTimePolicyMap) ElementType() reflect.Type

func (ClientTimePolicyMap) ToClientTimePolicyMapOutput

func (i ClientTimePolicyMap) ToClientTimePolicyMapOutput() ClientTimePolicyMapOutput

func (ClientTimePolicyMap) ToClientTimePolicyMapOutputWithContext

func (i ClientTimePolicyMap) ToClientTimePolicyMapOutputWithContext(ctx context.Context) ClientTimePolicyMapOutput

type ClientTimePolicyMapInput

type ClientTimePolicyMapInput interface {
	pulumi.Input

	ToClientTimePolicyMapOutput() ClientTimePolicyMapOutput
	ToClientTimePolicyMapOutputWithContext(context.Context) ClientTimePolicyMapOutput
}

ClientTimePolicyMapInput is an input type that accepts ClientTimePolicyMap and ClientTimePolicyMapOutput values. You can construct a concrete instance of `ClientTimePolicyMapInput` via:

ClientTimePolicyMap{ "key": ClientTimePolicyArgs{...} }

type ClientTimePolicyMapOutput

type ClientTimePolicyMapOutput struct{ *pulumi.OutputState }

func (ClientTimePolicyMapOutput) ElementType

func (ClientTimePolicyMapOutput) ElementType() reflect.Type

func (ClientTimePolicyMapOutput) MapIndex

func (ClientTimePolicyMapOutput) ToClientTimePolicyMapOutput

func (o ClientTimePolicyMapOutput) ToClientTimePolicyMapOutput() ClientTimePolicyMapOutput

func (ClientTimePolicyMapOutput) ToClientTimePolicyMapOutputWithContext

func (o ClientTimePolicyMapOutput) ToClientTimePolicyMapOutputWithContext(ctx context.Context) ClientTimePolicyMapOutput

type ClientTimePolicyOutput

type ClientTimePolicyOutput struct{ *pulumi.OutputState }

func (ClientTimePolicyOutput) DayMonth

func (ClientTimePolicyOutput) DayMonthEnd

func (ClientTimePolicyOutput) DecisionStrategy

func (o ClientTimePolicyOutput) DecisionStrategy() pulumi.StringOutput

func (ClientTimePolicyOutput) Description

func (ClientTimePolicyOutput) ElementType

func (ClientTimePolicyOutput) ElementType() reflect.Type

func (ClientTimePolicyOutput) Hour

func (ClientTimePolicyOutput) HourEnd

func (ClientTimePolicyOutput) Logic

func (ClientTimePolicyOutput) Minute

func (ClientTimePolicyOutput) MinuteEnd

func (ClientTimePolicyOutput) Month

func (ClientTimePolicyOutput) MonthEnd

func (ClientTimePolicyOutput) Name

func (ClientTimePolicyOutput) NotBefore

func (ClientTimePolicyOutput) NotOnOrAfter

func (ClientTimePolicyOutput) RealmId

func (ClientTimePolicyOutput) ResourceServerId

func (o ClientTimePolicyOutput) ResourceServerId() pulumi.StringOutput

func (ClientTimePolicyOutput) ToClientTimePolicyOutput

func (o ClientTimePolicyOutput) ToClientTimePolicyOutput() ClientTimePolicyOutput

func (ClientTimePolicyOutput) ToClientTimePolicyOutputWithContext

func (o ClientTimePolicyOutput) ToClientTimePolicyOutputWithContext(ctx context.Context) ClientTimePolicyOutput

func (ClientTimePolicyOutput) Year

func (ClientTimePolicyOutput) YearEnd

type ClientTimePolicyState

type ClientTimePolicyState struct {
	DayMonth         pulumi.StringPtrInput
	DayMonthEnd      pulumi.StringPtrInput
	DecisionStrategy pulumi.StringPtrInput
	Description      pulumi.StringPtrInput
	Hour             pulumi.StringPtrInput
	HourEnd          pulumi.StringPtrInput
	Logic            pulumi.StringPtrInput
	Minute           pulumi.StringPtrInput
	MinuteEnd        pulumi.StringPtrInput
	Month            pulumi.StringPtrInput
	MonthEnd         pulumi.StringPtrInput
	Name             pulumi.StringPtrInput
	NotBefore        pulumi.StringPtrInput
	NotOnOrAfter     pulumi.StringPtrInput
	RealmId          pulumi.StringPtrInput
	ResourceServerId pulumi.StringPtrInput
	Year             pulumi.StringPtrInput
	YearEnd          pulumi.StringPtrInput
}

func (ClientTimePolicyState) ElementType

func (ClientTimePolicyState) ElementType() reflect.Type

type ClientUserPolicy

type ClientUserPolicy struct {
	pulumi.CustomResourceState

	DecisionStrategy pulumi.StringOutput      `pulumi:"decisionStrategy"`
	Description      pulumi.StringPtrOutput   `pulumi:"description"`
	Logic            pulumi.StringPtrOutput   `pulumi:"logic"`
	Name             pulumi.StringOutput      `pulumi:"name"`
	RealmId          pulumi.StringOutput      `pulumi:"realmId"`
	ResourceServerId pulumi.StringOutput      `pulumi:"resourceServerId"`
	Users            pulumi.StringArrayOutput `pulumi:"users"`
}

func GetClientUserPolicy

func GetClientUserPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ClientUserPolicyState, opts ...pulumi.ResourceOption) (*ClientUserPolicy, error)

GetClientUserPolicy gets an existing ClientUserPolicy 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 NewClientUserPolicy

func NewClientUserPolicy(ctx *pulumi.Context,
	name string, args *ClientUserPolicyArgs, opts ...pulumi.ResourceOption) (*ClientUserPolicy, error)

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

func (*ClientUserPolicy) ElementType

func (*ClientUserPolicy) ElementType() reflect.Type

func (*ClientUserPolicy) ToClientUserPolicyOutput

func (i *ClientUserPolicy) ToClientUserPolicyOutput() ClientUserPolicyOutput

func (*ClientUserPolicy) ToClientUserPolicyOutputWithContext

func (i *ClientUserPolicy) ToClientUserPolicyOutputWithContext(ctx context.Context) ClientUserPolicyOutput

type ClientUserPolicyArgs

type ClientUserPolicyArgs struct {
	DecisionStrategy pulumi.StringInput
	Description      pulumi.StringPtrInput
	Logic            pulumi.StringPtrInput
	Name             pulumi.StringPtrInput
	RealmId          pulumi.StringInput
	ResourceServerId pulumi.StringInput
	Users            pulumi.StringArrayInput
}

The set of arguments for constructing a ClientUserPolicy resource.

func (ClientUserPolicyArgs) ElementType

func (ClientUserPolicyArgs) ElementType() reflect.Type

type ClientUserPolicyArray

type ClientUserPolicyArray []ClientUserPolicyInput

func (ClientUserPolicyArray) ElementType

func (ClientUserPolicyArray) ElementType() reflect.Type

func (ClientUserPolicyArray) ToClientUserPolicyArrayOutput

func (i ClientUserPolicyArray) ToClientUserPolicyArrayOutput() ClientUserPolicyArrayOutput

func (ClientUserPolicyArray) ToClientUserPolicyArrayOutputWithContext

func (i ClientUserPolicyArray) ToClientUserPolicyArrayOutputWithContext(ctx context.Context) ClientUserPolicyArrayOutput

type ClientUserPolicyArrayInput

type ClientUserPolicyArrayInput interface {
	pulumi.Input

	ToClientUserPolicyArrayOutput() ClientUserPolicyArrayOutput
	ToClientUserPolicyArrayOutputWithContext(context.Context) ClientUserPolicyArrayOutput
}

ClientUserPolicyArrayInput is an input type that accepts ClientUserPolicyArray and ClientUserPolicyArrayOutput values. You can construct a concrete instance of `ClientUserPolicyArrayInput` via:

ClientUserPolicyArray{ ClientUserPolicyArgs{...} }

type ClientUserPolicyArrayOutput

type ClientUserPolicyArrayOutput struct{ *pulumi.OutputState }

func (ClientUserPolicyArrayOutput) ElementType

func (ClientUserPolicyArrayOutput) Index

func (ClientUserPolicyArrayOutput) ToClientUserPolicyArrayOutput

func (o ClientUserPolicyArrayOutput) ToClientUserPolicyArrayOutput() ClientUserPolicyArrayOutput

func (ClientUserPolicyArrayOutput) ToClientUserPolicyArrayOutputWithContext

func (o ClientUserPolicyArrayOutput) ToClientUserPolicyArrayOutputWithContext(ctx context.Context) ClientUserPolicyArrayOutput

type ClientUserPolicyInput

type ClientUserPolicyInput interface {
	pulumi.Input

	ToClientUserPolicyOutput() ClientUserPolicyOutput
	ToClientUserPolicyOutputWithContext(ctx context.Context) ClientUserPolicyOutput
}

type ClientUserPolicyMap

type ClientUserPolicyMap map[string]ClientUserPolicyInput

func (ClientUserPolicyMap) ElementType

func (ClientUserPolicyMap) ElementType() reflect.Type

func (ClientUserPolicyMap) ToClientUserPolicyMapOutput

func (i ClientUserPolicyMap) ToClientUserPolicyMapOutput() ClientUserPolicyMapOutput

func (ClientUserPolicyMap) ToClientUserPolicyMapOutputWithContext

func (i ClientUserPolicyMap) ToClientUserPolicyMapOutputWithContext(ctx context.Context) ClientUserPolicyMapOutput

type ClientUserPolicyMapInput

type ClientUserPolicyMapInput interface {
	pulumi.Input

	ToClientUserPolicyMapOutput() ClientUserPolicyMapOutput
	ToClientUserPolicyMapOutputWithContext(context.Context) ClientUserPolicyMapOutput
}

ClientUserPolicyMapInput is an input type that accepts ClientUserPolicyMap and ClientUserPolicyMapOutput values. You can construct a concrete instance of `ClientUserPolicyMapInput` via:

ClientUserPolicyMap{ "key": ClientUserPolicyArgs{...} }

type ClientUserPolicyMapOutput

type ClientUserPolicyMapOutput struct{ *pulumi.OutputState }

func (ClientUserPolicyMapOutput) ElementType

func (ClientUserPolicyMapOutput) ElementType() reflect.Type

func (ClientUserPolicyMapOutput) MapIndex

func (ClientUserPolicyMapOutput) ToClientUserPolicyMapOutput

func (o ClientUserPolicyMapOutput) ToClientUserPolicyMapOutput() ClientUserPolicyMapOutput

func (ClientUserPolicyMapOutput) ToClientUserPolicyMapOutputWithContext

func (o ClientUserPolicyMapOutput) ToClientUserPolicyMapOutputWithContext(ctx context.Context) ClientUserPolicyMapOutput

type ClientUserPolicyOutput

type ClientUserPolicyOutput struct{ *pulumi.OutputState }

func (ClientUserPolicyOutput) DecisionStrategy

func (o ClientUserPolicyOutput) DecisionStrategy() pulumi.StringOutput

func (ClientUserPolicyOutput) Description

func (ClientUserPolicyOutput) ElementType

func (ClientUserPolicyOutput) ElementType() reflect.Type

func (ClientUserPolicyOutput) Logic

func (ClientUserPolicyOutput) Name

func (ClientUserPolicyOutput) RealmId

func (ClientUserPolicyOutput) ResourceServerId

func (o ClientUserPolicyOutput) ResourceServerId() pulumi.StringOutput

func (ClientUserPolicyOutput) ToClientUserPolicyOutput

func (o ClientUserPolicyOutput) ToClientUserPolicyOutput() ClientUserPolicyOutput

func (ClientUserPolicyOutput) ToClientUserPolicyOutputWithContext

func (o ClientUserPolicyOutput) ToClientUserPolicyOutputWithContext(ctx context.Context) ClientUserPolicyOutput

func (ClientUserPolicyOutput) Users

type ClientUserPolicyState

type ClientUserPolicyState struct {
	DecisionStrategy pulumi.StringPtrInput
	Description      pulumi.StringPtrInput
	Logic            pulumi.StringPtrInput
	Name             pulumi.StringPtrInput
	RealmId          pulumi.StringPtrInput
	ResourceServerId pulumi.StringPtrInput
	Users            pulumi.StringArrayInput
}

func (ClientUserPolicyState) ElementType

func (ClientUserPolicyState) ElementType() reflect.Type

type FullNameProtocolMapper

type FullNameProtocolMapper struct {
	pulumi.CustomResourceState

	AddToAccessToken pulumi.BoolPtrOutput `pulumi:"addToAccessToken"`
	AddToIdToken     pulumi.BoolPtrOutput `pulumi:"addToIdToken"`
	AddToUserinfo    pulumi.BoolPtrOutput `pulumi:"addToUserinfo"`
	// The mapper's associated client. Cannot be used at the same time as client_scope_id.
	ClientId pulumi.StringPtrOutput `pulumi:"clientId"`
	// The mapper's associated client scope. Cannot be used at the same time as client_id.
	ClientScopeId pulumi.StringPtrOutput `pulumi:"clientScopeId"`
	// A human-friendly name that will appear in the Keycloak console.
	Name pulumi.StringOutput `pulumi:"name"`
	// The realm id where the associated client or client scope exists.
	RealmId pulumi.StringOutput `pulumi:"realmId"`
}

## # openid.FullNameProtocolMapper

Allows for creating and managing full name protocol mappers within Keycloak.

Full name protocol mappers allow you to map a user's first and last name to the OpenID Connect `name` claim in a token. Protocol mappers can be defined for a single client, or they can be defined for a client scope which can be shared between multiple different clients.

### Example Usage (Client)

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak"
"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak/openid"
"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{
			Enabled: pulumi.Bool(true),
			Realm:   pulumi.String("my-realm"),
		})
		if err != nil {
			return err
		}
		openidClient, err := openid.NewClient(ctx, "openidClient", &openid.ClientArgs{
			AccessType: pulumi.String("CONFIDENTIAL"),
			ClientId:   pulumi.String("test-client"),
			Enabled:    pulumi.Bool(true),
			RealmId:    realm.ID(),
			ValidRedirectUris: pulumi.StringArray{
				pulumi.String("http://localhost:8080/openid-callback"),
			},
		})
		if err != nil {
			return err
		}
		_, err = openid.NewFullNameProtocolMapper(ctx, "fullNameMapper", &openid.FullNameProtocolMapperArgs{
			ClientId: openidClient.ID(),
			RealmId:  realm.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

### Example Usage (Client Scope)

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak"
"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak/openid"
"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{
			Enabled: pulumi.Bool(true),
			Realm:   pulumi.String("my-realm"),
		})
		if err != nil {
			return err
		}
		clientScope, err := openid.NewClientScope(ctx, "clientScope", &openid.ClientScopeArgs{
			RealmId: realm.ID(),
		})
		if err != nil {
			return err
		}
		_, err = openid.NewFullNameProtocolMapper(ctx, "fullNameMapper", &openid.FullNameProtocolMapperArgs{
			ClientScopeId: clientScope.ID(),
			RealmId:       realm.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

### Argument Reference

The following arguments are supported:

- `realmId` - (Required) The realm this protocol mapper exists within. - `clientId` - (Required if `clientScopeId` is not specified) The client this protocol mapper is attached to. - `clientScopeId` - (Required if `clientId` is not specified) The client scope this protocol mapper is attached to. - `name` - (Required) The display name of this protocol mapper in the GUI. - `addToIdToken` - (Optional) Indicates if the user's full name should be added as a claim to the id token. Defaults to `true`. - `addToAccessToken` - (Optional) Indicates if the user's full name should be added as a claim to the access token. Defaults to `true`. - `addToUserinfo` - (Optional) Indicates if the user's full name should be added as a claim to the UserInfo response body. Defaults to `true`.

### Import

Protocol mappers can be imported using one of the following formats: - Client: `{{realm_id}}/client/{{client_keycloak_id}}/{{protocol_mapper_id}}` - Client Scope: `{{realm_id}}/client-scope/{{client_scope_keycloak_id}}/{{protocol_mapper_id}}`

Example:

func GetFullNameProtocolMapper

func GetFullNameProtocolMapper(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *FullNameProtocolMapperState, opts ...pulumi.ResourceOption) (*FullNameProtocolMapper, error)

GetFullNameProtocolMapper gets an existing FullNameProtocolMapper 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 NewFullNameProtocolMapper

func NewFullNameProtocolMapper(ctx *pulumi.Context,
	name string, args *FullNameProtocolMapperArgs, opts ...pulumi.ResourceOption) (*FullNameProtocolMapper, error)

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

func (*FullNameProtocolMapper) ElementType

func (*FullNameProtocolMapper) ElementType() reflect.Type

func (*FullNameProtocolMapper) ToFullNameProtocolMapperOutput

func (i *FullNameProtocolMapper) ToFullNameProtocolMapperOutput() FullNameProtocolMapperOutput

func (*FullNameProtocolMapper) ToFullNameProtocolMapperOutputWithContext

func (i *FullNameProtocolMapper) ToFullNameProtocolMapperOutputWithContext(ctx context.Context) FullNameProtocolMapperOutput

type FullNameProtocolMapperArgs

type FullNameProtocolMapperArgs struct {
	AddToAccessToken pulumi.BoolPtrInput
	AddToIdToken     pulumi.BoolPtrInput
	AddToUserinfo    pulumi.BoolPtrInput
	// The mapper's associated client. Cannot be used at the same time as client_scope_id.
	ClientId pulumi.StringPtrInput
	// The mapper's associated client scope. Cannot be used at the same time as client_id.
	ClientScopeId pulumi.StringPtrInput
	// A human-friendly name that will appear in the Keycloak console.
	Name pulumi.StringPtrInput
	// The realm id where the associated client or client scope exists.
	RealmId pulumi.StringInput
}

The set of arguments for constructing a FullNameProtocolMapper resource.

func (FullNameProtocolMapperArgs) ElementType

func (FullNameProtocolMapperArgs) ElementType() reflect.Type

type FullNameProtocolMapperArray

type FullNameProtocolMapperArray []FullNameProtocolMapperInput

func (FullNameProtocolMapperArray) ElementType

func (FullNameProtocolMapperArray) ToFullNameProtocolMapperArrayOutput

func (i FullNameProtocolMapperArray) ToFullNameProtocolMapperArrayOutput() FullNameProtocolMapperArrayOutput

func (FullNameProtocolMapperArray) ToFullNameProtocolMapperArrayOutputWithContext

func (i FullNameProtocolMapperArray) ToFullNameProtocolMapperArrayOutputWithContext(ctx context.Context) FullNameProtocolMapperArrayOutput

type FullNameProtocolMapperArrayInput

type FullNameProtocolMapperArrayInput interface {
	pulumi.Input

	ToFullNameProtocolMapperArrayOutput() FullNameProtocolMapperArrayOutput
	ToFullNameProtocolMapperArrayOutputWithContext(context.Context) FullNameProtocolMapperArrayOutput
}

FullNameProtocolMapperArrayInput is an input type that accepts FullNameProtocolMapperArray and FullNameProtocolMapperArrayOutput values. You can construct a concrete instance of `FullNameProtocolMapperArrayInput` via:

FullNameProtocolMapperArray{ FullNameProtocolMapperArgs{...} }

type FullNameProtocolMapperArrayOutput

type FullNameProtocolMapperArrayOutput struct{ *pulumi.OutputState }

func (FullNameProtocolMapperArrayOutput) ElementType

func (FullNameProtocolMapperArrayOutput) Index

func (FullNameProtocolMapperArrayOutput) ToFullNameProtocolMapperArrayOutput

func (o FullNameProtocolMapperArrayOutput) ToFullNameProtocolMapperArrayOutput() FullNameProtocolMapperArrayOutput

func (FullNameProtocolMapperArrayOutput) ToFullNameProtocolMapperArrayOutputWithContext

func (o FullNameProtocolMapperArrayOutput) ToFullNameProtocolMapperArrayOutputWithContext(ctx context.Context) FullNameProtocolMapperArrayOutput

type FullNameProtocolMapperInput

type FullNameProtocolMapperInput interface {
	pulumi.Input

	ToFullNameProtocolMapperOutput() FullNameProtocolMapperOutput
	ToFullNameProtocolMapperOutputWithContext(ctx context.Context) FullNameProtocolMapperOutput
}

type FullNameProtocolMapperMap

type FullNameProtocolMapperMap map[string]FullNameProtocolMapperInput

func (FullNameProtocolMapperMap) ElementType

func (FullNameProtocolMapperMap) ElementType() reflect.Type

func (FullNameProtocolMapperMap) ToFullNameProtocolMapperMapOutput

func (i FullNameProtocolMapperMap) ToFullNameProtocolMapperMapOutput() FullNameProtocolMapperMapOutput

func (FullNameProtocolMapperMap) ToFullNameProtocolMapperMapOutputWithContext

func (i FullNameProtocolMapperMap) ToFullNameProtocolMapperMapOutputWithContext(ctx context.Context) FullNameProtocolMapperMapOutput

type FullNameProtocolMapperMapInput

type FullNameProtocolMapperMapInput interface {
	pulumi.Input

	ToFullNameProtocolMapperMapOutput() FullNameProtocolMapperMapOutput
	ToFullNameProtocolMapperMapOutputWithContext(context.Context) FullNameProtocolMapperMapOutput
}

FullNameProtocolMapperMapInput is an input type that accepts FullNameProtocolMapperMap and FullNameProtocolMapperMapOutput values. You can construct a concrete instance of `FullNameProtocolMapperMapInput` via:

FullNameProtocolMapperMap{ "key": FullNameProtocolMapperArgs{...} }

type FullNameProtocolMapperMapOutput

type FullNameProtocolMapperMapOutput struct{ *pulumi.OutputState }

func (FullNameProtocolMapperMapOutput) ElementType

func (FullNameProtocolMapperMapOutput) MapIndex

func (FullNameProtocolMapperMapOutput) ToFullNameProtocolMapperMapOutput

func (o FullNameProtocolMapperMapOutput) ToFullNameProtocolMapperMapOutput() FullNameProtocolMapperMapOutput

func (FullNameProtocolMapperMapOutput) ToFullNameProtocolMapperMapOutputWithContext

func (o FullNameProtocolMapperMapOutput) ToFullNameProtocolMapperMapOutputWithContext(ctx context.Context) FullNameProtocolMapperMapOutput

type FullNameProtocolMapperOutput

type FullNameProtocolMapperOutput struct{ *pulumi.OutputState }

func (FullNameProtocolMapperOutput) AddToAccessToken

func (o FullNameProtocolMapperOutput) AddToAccessToken() pulumi.BoolPtrOutput

func (FullNameProtocolMapperOutput) AddToIdToken

func (FullNameProtocolMapperOutput) AddToUserinfo

func (FullNameProtocolMapperOutput) ClientId

The mapper's associated client. Cannot be used at the same time as client_scope_id.

func (FullNameProtocolMapperOutput) ClientScopeId

The mapper's associated client scope. Cannot be used at the same time as client_id.

func (FullNameProtocolMapperOutput) ElementType

func (FullNameProtocolMapperOutput) Name

A human-friendly name that will appear in the Keycloak console.

func (FullNameProtocolMapperOutput) RealmId

The realm id where the associated client or client scope exists.

func (FullNameProtocolMapperOutput) ToFullNameProtocolMapperOutput

func (o FullNameProtocolMapperOutput) ToFullNameProtocolMapperOutput() FullNameProtocolMapperOutput

func (FullNameProtocolMapperOutput) ToFullNameProtocolMapperOutputWithContext

func (o FullNameProtocolMapperOutput) ToFullNameProtocolMapperOutputWithContext(ctx context.Context) FullNameProtocolMapperOutput

type FullNameProtocolMapperState

type FullNameProtocolMapperState struct {
	AddToAccessToken pulumi.BoolPtrInput
	AddToIdToken     pulumi.BoolPtrInput
	AddToUserinfo    pulumi.BoolPtrInput
	// The mapper's associated client. Cannot be used at the same time as client_scope_id.
	ClientId pulumi.StringPtrInput
	// The mapper's associated client scope. Cannot be used at the same time as client_id.
	ClientScopeId pulumi.StringPtrInput
	// A human-friendly name that will appear in the Keycloak console.
	Name pulumi.StringPtrInput
	// The realm id where the associated client or client scope exists.
	RealmId pulumi.StringPtrInput
}

func (FullNameProtocolMapperState) ElementType

type GetClientAuthenticationFlowBindingOverride

type GetClientAuthenticationFlowBindingOverride struct {
	BrowserId     string `pulumi:"browserId"`
	DirectGrantId string `pulumi:"directGrantId"`
}

type GetClientAuthenticationFlowBindingOverrideArgs

type GetClientAuthenticationFlowBindingOverrideArgs struct {
	BrowserId     pulumi.StringInput `pulumi:"browserId"`
	DirectGrantId pulumi.StringInput `pulumi:"directGrantId"`
}

func (GetClientAuthenticationFlowBindingOverrideArgs) ElementType

func (GetClientAuthenticationFlowBindingOverrideArgs) ToGetClientAuthenticationFlowBindingOverrideOutput

func (i GetClientAuthenticationFlowBindingOverrideArgs) ToGetClientAuthenticationFlowBindingOverrideOutput() GetClientAuthenticationFlowBindingOverrideOutput

func (GetClientAuthenticationFlowBindingOverrideArgs) ToGetClientAuthenticationFlowBindingOverrideOutputWithContext

func (i GetClientAuthenticationFlowBindingOverrideArgs) ToGetClientAuthenticationFlowBindingOverrideOutputWithContext(ctx context.Context) GetClientAuthenticationFlowBindingOverrideOutput

type GetClientAuthenticationFlowBindingOverrideArray

type GetClientAuthenticationFlowBindingOverrideArray []GetClientAuthenticationFlowBindingOverrideInput

func (GetClientAuthenticationFlowBindingOverrideArray) ElementType

func (GetClientAuthenticationFlowBindingOverrideArray) ToGetClientAuthenticationFlowBindingOverrideArrayOutput

func (i GetClientAuthenticationFlowBindingOverrideArray) ToGetClientAuthenticationFlowBindingOverrideArrayOutput() GetClientAuthenticationFlowBindingOverrideArrayOutput

func (GetClientAuthenticationFlowBindingOverrideArray) ToGetClientAuthenticationFlowBindingOverrideArrayOutputWithContext

func (i GetClientAuthenticationFlowBindingOverrideArray) ToGetClientAuthenticationFlowBindingOverrideArrayOutputWithContext(ctx context.Context) GetClientAuthenticationFlowBindingOverrideArrayOutput

type GetClientAuthenticationFlowBindingOverrideArrayInput

type GetClientAuthenticationFlowBindingOverrideArrayInput interface {
	pulumi.Input

	ToGetClientAuthenticationFlowBindingOverrideArrayOutput() GetClientAuthenticationFlowBindingOverrideArrayOutput
	ToGetClientAuthenticationFlowBindingOverrideArrayOutputWithContext(context.Context) GetClientAuthenticationFlowBindingOverrideArrayOutput
}

GetClientAuthenticationFlowBindingOverrideArrayInput is an input type that accepts GetClientAuthenticationFlowBindingOverrideArray and GetClientAuthenticationFlowBindingOverrideArrayOutput values. You can construct a concrete instance of `GetClientAuthenticationFlowBindingOverrideArrayInput` via:

GetClientAuthenticationFlowBindingOverrideArray{ GetClientAuthenticationFlowBindingOverrideArgs{...} }

type GetClientAuthenticationFlowBindingOverrideArrayOutput

type GetClientAuthenticationFlowBindingOverrideArrayOutput struct{ *pulumi.OutputState }

func (GetClientAuthenticationFlowBindingOverrideArrayOutput) ElementType

func (GetClientAuthenticationFlowBindingOverrideArrayOutput) Index

func (GetClientAuthenticationFlowBindingOverrideArrayOutput) ToGetClientAuthenticationFlowBindingOverrideArrayOutput

func (GetClientAuthenticationFlowBindingOverrideArrayOutput) ToGetClientAuthenticationFlowBindingOverrideArrayOutputWithContext

func (o GetClientAuthenticationFlowBindingOverrideArrayOutput) ToGetClientAuthenticationFlowBindingOverrideArrayOutputWithContext(ctx context.Context) GetClientAuthenticationFlowBindingOverrideArrayOutput

type GetClientAuthenticationFlowBindingOverrideInput

type GetClientAuthenticationFlowBindingOverrideInput interface {
	pulumi.Input

	ToGetClientAuthenticationFlowBindingOverrideOutput() GetClientAuthenticationFlowBindingOverrideOutput
	ToGetClientAuthenticationFlowBindingOverrideOutputWithContext(context.Context) GetClientAuthenticationFlowBindingOverrideOutput
}

GetClientAuthenticationFlowBindingOverrideInput is an input type that accepts GetClientAuthenticationFlowBindingOverrideArgs and GetClientAuthenticationFlowBindingOverrideOutput values. You can construct a concrete instance of `GetClientAuthenticationFlowBindingOverrideInput` via:

GetClientAuthenticationFlowBindingOverrideArgs{...}

type GetClientAuthenticationFlowBindingOverrideOutput

type GetClientAuthenticationFlowBindingOverrideOutput struct{ *pulumi.OutputState }

func (GetClientAuthenticationFlowBindingOverrideOutput) BrowserId

func (GetClientAuthenticationFlowBindingOverrideOutput) DirectGrantId

func (GetClientAuthenticationFlowBindingOverrideOutput) ElementType

func (GetClientAuthenticationFlowBindingOverrideOutput) ToGetClientAuthenticationFlowBindingOverrideOutput

func (o GetClientAuthenticationFlowBindingOverrideOutput) ToGetClientAuthenticationFlowBindingOverrideOutput() GetClientAuthenticationFlowBindingOverrideOutput

func (GetClientAuthenticationFlowBindingOverrideOutput) ToGetClientAuthenticationFlowBindingOverrideOutputWithContext

func (o GetClientAuthenticationFlowBindingOverrideOutput) ToGetClientAuthenticationFlowBindingOverrideOutputWithContext(ctx context.Context) GetClientAuthenticationFlowBindingOverrideOutput

type GetClientAuthorization

type GetClientAuthorization struct {
	AllowRemoteResourceManagement bool   `pulumi:"allowRemoteResourceManagement"`
	DecisionStrategy              string `pulumi:"decisionStrategy"`
	KeepDefaults                  bool   `pulumi:"keepDefaults"`
	PolicyEnforcementMode         string `pulumi:"policyEnforcementMode"`
}

type GetClientAuthorizationArgs

type GetClientAuthorizationArgs struct {
	AllowRemoteResourceManagement pulumi.BoolInput   `pulumi:"allowRemoteResourceManagement"`
	DecisionStrategy              pulumi.StringInput `pulumi:"decisionStrategy"`
	KeepDefaults                  pulumi.BoolInput   `pulumi:"keepDefaults"`
	PolicyEnforcementMode         pulumi.StringInput `pulumi:"policyEnforcementMode"`
}

func (GetClientAuthorizationArgs) ElementType

func (GetClientAuthorizationArgs) ElementType() reflect.Type

func (GetClientAuthorizationArgs) ToGetClientAuthorizationOutput

func (i GetClientAuthorizationArgs) ToGetClientAuthorizationOutput() GetClientAuthorizationOutput

func (GetClientAuthorizationArgs) ToGetClientAuthorizationOutputWithContext

func (i GetClientAuthorizationArgs) ToGetClientAuthorizationOutputWithContext(ctx context.Context) GetClientAuthorizationOutput

type GetClientAuthorizationArray

type GetClientAuthorizationArray []GetClientAuthorizationInput

func (GetClientAuthorizationArray) ElementType

func (GetClientAuthorizationArray) ToGetClientAuthorizationArrayOutput

func (i GetClientAuthorizationArray) ToGetClientAuthorizationArrayOutput() GetClientAuthorizationArrayOutput

func (GetClientAuthorizationArray) ToGetClientAuthorizationArrayOutputWithContext

func (i GetClientAuthorizationArray) ToGetClientAuthorizationArrayOutputWithContext(ctx context.Context) GetClientAuthorizationArrayOutput

type GetClientAuthorizationArrayInput

type GetClientAuthorizationArrayInput interface {
	pulumi.Input

	ToGetClientAuthorizationArrayOutput() GetClientAuthorizationArrayOutput
	ToGetClientAuthorizationArrayOutputWithContext(context.Context) GetClientAuthorizationArrayOutput
}

GetClientAuthorizationArrayInput is an input type that accepts GetClientAuthorizationArray and GetClientAuthorizationArrayOutput values. You can construct a concrete instance of `GetClientAuthorizationArrayInput` via:

GetClientAuthorizationArray{ GetClientAuthorizationArgs{...} }

type GetClientAuthorizationArrayOutput

type GetClientAuthorizationArrayOutput struct{ *pulumi.OutputState }

func (GetClientAuthorizationArrayOutput) ElementType

func (GetClientAuthorizationArrayOutput) Index

func (GetClientAuthorizationArrayOutput) ToGetClientAuthorizationArrayOutput

func (o GetClientAuthorizationArrayOutput) ToGetClientAuthorizationArrayOutput() GetClientAuthorizationArrayOutput

func (GetClientAuthorizationArrayOutput) ToGetClientAuthorizationArrayOutputWithContext

func (o GetClientAuthorizationArrayOutput) ToGetClientAuthorizationArrayOutputWithContext(ctx context.Context) GetClientAuthorizationArrayOutput

type GetClientAuthorizationInput

type GetClientAuthorizationInput interface {
	pulumi.Input

	ToGetClientAuthorizationOutput() GetClientAuthorizationOutput
	ToGetClientAuthorizationOutputWithContext(context.Context) GetClientAuthorizationOutput
}

GetClientAuthorizationInput is an input type that accepts GetClientAuthorizationArgs and GetClientAuthorizationOutput values. You can construct a concrete instance of `GetClientAuthorizationInput` via:

GetClientAuthorizationArgs{...}

type GetClientAuthorizationOutput

type GetClientAuthorizationOutput struct{ *pulumi.OutputState }

func (GetClientAuthorizationOutput) AllowRemoteResourceManagement

func (o GetClientAuthorizationOutput) AllowRemoteResourceManagement() pulumi.BoolOutput

func (GetClientAuthorizationOutput) DecisionStrategy

func (o GetClientAuthorizationOutput) DecisionStrategy() pulumi.StringOutput

func (GetClientAuthorizationOutput) ElementType

func (GetClientAuthorizationOutput) KeepDefaults

func (GetClientAuthorizationOutput) PolicyEnforcementMode

func (o GetClientAuthorizationOutput) PolicyEnforcementMode() pulumi.StringOutput

func (GetClientAuthorizationOutput) ToGetClientAuthorizationOutput

func (o GetClientAuthorizationOutput) ToGetClientAuthorizationOutput() GetClientAuthorizationOutput

func (GetClientAuthorizationOutput) ToGetClientAuthorizationOutputWithContext

func (o GetClientAuthorizationOutput) ToGetClientAuthorizationOutputWithContext(ctx context.Context) GetClientAuthorizationOutput

type GetClientAuthorizationPolicyArgs

type GetClientAuthorizationPolicyArgs struct {
	// The name of the authorization policy.
	Name string `pulumi:"name"`
	// The realm this authorization policy exists within.
	RealmId string `pulumi:"realmId"`
	// The ID of the resource server this authorization policy is attached to.
	ResourceServerId string `pulumi:"resourceServerId"`
}

A collection of arguments for invoking getClientAuthorizationPolicy.

type GetClientAuthorizationPolicyOutputArgs

type GetClientAuthorizationPolicyOutputArgs struct {
	// The name of the authorization policy.
	Name pulumi.StringInput `pulumi:"name"`
	// The realm this authorization policy exists within.
	RealmId pulumi.StringInput `pulumi:"realmId"`
	// The ID of the resource server this authorization policy is attached to.
	ResourceServerId pulumi.StringInput `pulumi:"resourceServerId"`
}

A collection of arguments for invoking getClientAuthorizationPolicy.

func (GetClientAuthorizationPolicyOutputArgs) ElementType

type GetClientAuthorizationPolicyResult

type GetClientAuthorizationPolicyResult struct {
	// (Computed) Dictates how the policies associated with a given permission are evaluated and how a final decision is obtained. Could be one of `AFFIRMATIVE`, `CONSENSUS`, or `UNANIMOUS`. Applies to permissions.
	DecisionStrategy string `pulumi:"decisionStrategy"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// (Computed) Dictates how the policy decision should be made. Can be either `POSITIVE` or `NEGATIVE`. Applies to policies.
	Logic string `pulumi:"logic"`
	Name  string `pulumi:"name"`
	// (Computed) The ID of the owning resource. Applies to resources.
	Owner string `pulumi:"owner"`
	// (Computed) The IDs of the policies that must be applied to scopes/resources for this policy/permission. Applies to policies and permissions.
	Policies         []string `pulumi:"policies"`
	RealmId          string   `pulumi:"realmId"`
	ResourceServerId string   `pulumi:"resourceServerId"`
	// (Computed) The IDs of the resources that this permission applies to. Applies to resource-based permissions.
	Resources []string `pulumi:"resources"`
	// (Computed) The IDs of the scopes that this permission applies to. Applies to scope-based permissions.
	Scopes []string `pulumi:"scopes"`
	// (Computed) The type of this policy / permission. For permissions, this could be `resource` or `scope`. For policies, this could be any type of authorization policy, such as `js`.
	Type string `pulumi:"type"`
}

A collection of values returned by getClientAuthorizationPolicy.

func GetClientAuthorizationPolicy

func GetClientAuthorizationPolicy(ctx *pulumi.Context, args *GetClientAuthorizationPolicyArgs, opts ...pulumi.InvokeOption) (*GetClientAuthorizationPolicyResult, error)

This data source can be used to fetch policy and permission information for an OpenID client that has authorization enabled.

## Example Usage

In this example, we'll create a new OpenID client with authorization enabled. This will cause Keycloak to create a default permission for this client called "Default Permission". We'll use the `openid.getClientAuthorizationPolicy` data source to fetch information about this permission, so we can use it to create a new resource-based authorization permission.

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak"
"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak/openid"
"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
		}
		clientWithAuthz, err := openid.NewClient(ctx, "clientWithAuthz", &openid.ClientArgs{
			ClientId:               pulumi.String("client-with-authz"),
			RealmId:                realm.ID(),
			AccessType:             pulumi.String("CONFIDENTIAL"),
			ServiceAccountsEnabled: pulumi.Bool(true),
			Authorization: &openid.ClientAuthorizationArgs{
				PolicyEnforcementMode: pulumi.String("ENFORCING"),
			},
		})
		if err != nil {
			return err
		}
		defaultPermission := openid.GetClientAuthorizationPolicyOutput(ctx, openid.GetClientAuthorizationPolicyOutputArgs{
			RealmId:          realm.ID(),
			ResourceServerId: clientWithAuthz.ResourceServerId,
			Name:             pulumi.String("Default Permission"),
		}, nil)
		resource, err := openid.NewClientAuthorizationResource(ctx, "resource", &openid.ClientAuthorizationResourceArgs{
			ResourceServerId: clientWithAuthz.ResourceServerId,
			RealmId:          realm.ID(),
			Uris: pulumi.StringArray{
				pulumi.String("/endpoint/*"),
			},
			Attributes: pulumi.Map{
				"foo": pulumi.Any("bar"),
			},
		})
		if err != nil {
			return err
		}
		_, err = openid.NewClientAuthorizationPermission(ctx, "permission", &openid.ClientAuthorizationPermissionArgs{
			ResourceServerId: clientWithAuthz.ResourceServerId,
			RealmId:          realm.ID(),
			Policies: pulumi.StringArray{
				defaultPermission.ApplyT(func(defaultPermission openid.GetClientAuthorizationPolicyResult) (*string, error) {
					return &defaultPermission.Id, nil
				}).(pulumi.StringPtrOutput),
			},
			Resources: pulumi.StringArray{
				resource.ID(),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

type GetClientAuthorizationPolicyResultOutput

type GetClientAuthorizationPolicyResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getClientAuthorizationPolicy.

func (GetClientAuthorizationPolicyResultOutput) DecisionStrategy

(Computed) Dictates how the policies associated with a given permission are evaluated and how a final decision is obtained. Could be one of `AFFIRMATIVE`, `CONSENSUS`, or `UNANIMOUS`. Applies to permissions.

func (GetClientAuthorizationPolicyResultOutput) ElementType

func (GetClientAuthorizationPolicyResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetClientAuthorizationPolicyResultOutput) Logic

(Computed) Dictates how the policy decision should be made. Can be either `POSITIVE` or `NEGATIVE`. Applies to policies.

func (GetClientAuthorizationPolicyResultOutput) Name

func (GetClientAuthorizationPolicyResultOutput) Owner

(Computed) The ID of the owning resource. Applies to resources.

func (GetClientAuthorizationPolicyResultOutput) Policies

(Computed) The IDs of the policies that must be applied to scopes/resources for this policy/permission. Applies to policies and permissions.

func (GetClientAuthorizationPolicyResultOutput) RealmId

func (GetClientAuthorizationPolicyResultOutput) ResourceServerId

func (GetClientAuthorizationPolicyResultOutput) Resources

(Computed) The IDs of the resources that this permission applies to. Applies to resource-based permissions.

func (GetClientAuthorizationPolicyResultOutput) Scopes

(Computed) The IDs of the scopes that this permission applies to. Applies to scope-based permissions.

func (GetClientAuthorizationPolicyResultOutput) ToGetClientAuthorizationPolicyResultOutput

func (o GetClientAuthorizationPolicyResultOutput) ToGetClientAuthorizationPolicyResultOutput() GetClientAuthorizationPolicyResultOutput

func (GetClientAuthorizationPolicyResultOutput) ToGetClientAuthorizationPolicyResultOutputWithContext

func (o GetClientAuthorizationPolicyResultOutput) ToGetClientAuthorizationPolicyResultOutputWithContext(ctx context.Context) GetClientAuthorizationPolicyResultOutput

func (GetClientAuthorizationPolicyResultOutput) Type

(Computed) The type of this policy / permission. For permissions, this could be `resource` or `scope`. For policies, this could be any type of authorization policy, such as `js`.

type GetClientServiceAccountUserArgs

type GetClientServiceAccountUserArgs struct {
	// The ID of the OpenID client with service accounts enabled.
	ClientId string `pulumi:"clientId"`
	// The realm that the OpenID client exists within.
	RealmId string `pulumi:"realmId"`
}

A collection of arguments for invoking getClientServiceAccountUser.

type GetClientServiceAccountUserFederatedIdentity

type GetClientServiceAccountUserFederatedIdentity struct {
	IdentityProvider string `pulumi:"identityProvider"`
	UserId           string `pulumi:"userId"`
	UserName         string `pulumi:"userName"`
}

type GetClientServiceAccountUserFederatedIdentityArgs

type GetClientServiceAccountUserFederatedIdentityArgs struct {
	IdentityProvider pulumi.StringInput `pulumi:"identityProvider"`
	UserId           pulumi.StringInput `pulumi:"userId"`
	UserName         pulumi.StringInput `pulumi:"userName"`
}

func (GetClientServiceAccountUserFederatedIdentityArgs) ElementType

func (GetClientServiceAccountUserFederatedIdentityArgs) ToGetClientServiceAccountUserFederatedIdentityOutput

func (i GetClientServiceAccountUserFederatedIdentityArgs) ToGetClientServiceAccountUserFederatedIdentityOutput() GetClientServiceAccountUserFederatedIdentityOutput

func (GetClientServiceAccountUserFederatedIdentityArgs) ToGetClientServiceAccountUserFederatedIdentityOutputWithContext

func (i GetClientServiceAccountUserFederatedIdentityArgs) ToGetClientServiceAccountUserFederatedIdentityOutputWithContext(ctx context.Context) GetClientServiceAccountUserFederatedIdentityOutput

type GetClientServiceAccountUserFederatedIdentityArray

type GetClientServiceAccountUserFederatedIdentityArray []GetClientServiceAccountUserFederatedIdentityInput

func (GetClientServiceAccountUserFederatedIdentityArray) ElementType

func (GetClientServiceAccountUserFederatedIdentityArray) ToGetClientServiceAccountUserFederatedIdentityArrayOutput

func (i GetClientServiceAccountUserFederatedIdentityArray) ToGetClientServiceAccountUserFederatedIdentityArrayOutput() GetClientServiceAccountUserFederatedIdentityArrayOutput

func (GetClientServiceAccountUserFederatedIdentityArray) ToGetClientServiceAccountUserFederatedIdentityArrayOutputWithContext

func (i GetClientServiceAccountUserFederatedIdentityArray) ToGetClientServiceAccountUserFederatedIdentityArrayOutputWithContext(ctx context.Context) GetClientServiceAccountUserFederatedIdentityArrayOutput

type GetClientServiceAccountUserFederatedIdentityArrayInput

type GetClientServiceAccountUserFederatedIdentityArrayInput interface {
	pulumi.Input

	ToGetClientServiceAccountUserFederatedIdentityArrayOutput() GetClientServiceAccountUserFederatedIdentityArrayOutput
	ToGetClientServiceAccountUserFederatedIdentityArrayOutputWithContext(context.Context) GetClientServiceAccountUserFederatedIdentityArrayOutput
}

GetClientServiceAccountUserFederatedIdentityArrayInput is an input type that accepts GetClientServiceAccountUserFederatedIdentityArray and GetClientServiceAccountUserFederatedIdentityArrayOutput values. You can construct a concrete instance of `GetClientServiceAccountUserFederatedIdentityArrayInput` via:

GetClientServiceAccountUserFederatedIdentityArray{ GetClientServiceAccountUserFederatedIdentityArgs{...} }

type GetClientServiceAccountUserFederatedIdentityArrayOutput

type GetClientServiceAccountUserFederatedIdentityArrayOutput struct{ *pulumi.OutputState }

func (GetClientServiceAccountUserFederatedIdentityArrayOutput) ElementType

func (GetClientServiceAccountUserFederatedIdentityArrayOutput) Index

func (GetClientServiceAccountUserFederatedIdentityArrayOutput) ToGetClientServiceAccountUserFederatedIdentityArrayOutput

func (GetClientServiceAccountUserFederatedIdentityArrayOutput) ToGetClientServiceAccountUserFederatedIdentityArrayOutputWithContext

func (o GetClientServiceAccountUserFederatedIdentityArrayOutput) ToGetClientServiceAccountUserFederatedIdentityArrayOutputWithContext(ctx context.Context) GetClientServiceAccountUserFederatedIdentityArrayOutput

type GetClientServiceAccountUserFederatedIdentityInput

type GetClientServiceAccountUserFederatedIdentityInput interface {
	pulumi.Input

	ToGetClientServiceAccountUserFederatedIdentityOutput() GetClientServiceAccountUserFederatedIdentityOutput
	ToGetClientServiceAccountUserFederatedIdentityOutputWithContext(context.Context) GetClientServiceAccountUserFederatedIdentityOutput
}

GetClientServiceAccountUserFederatedIdentityInput is an input type that accepts GetClientServiceAccountUserFederatedIdentityArgs and GetClientServiceAccountUserFederatedIdentityOutput values. You can construct a concrete instance of `GetClientServiceAccountUserFederatedIdentityInput` via:

GetClientServiceAccountUserFederatedIdentityArgs{...}

type GetClientServiceAccountUserFederatedIdentityOutput

type GetClientServiceAccountUserFederatedIdentityOutput struct{ *pulumi.OutputState }

func (GetClientServiceAccountUserFederatedIdentityOutput) ElementType

func (GetClientServiceAccountUserFederatedIdentityOutput) IdentityProvider

func (GetClientServiceAccountUserFederatedIdentityOutput) ToGetClientServiceAccountUserFederatedIdentityOutput

func (o GetClientServiceAccountUserFederatedIdentityOutput) ToGetClientServiceAccountUserFederatedIdentityOutput() GetClientServiceAccountUserFederatedIdentityOutput

func (GetClientServiceAccountUserFederatedIdentityOutput) ToGetClientServiceAccountUserFederatedIdentityOutputWithContext

func (o GetClientServiceAccountUserFederatedIdentityOutput) ToGetClientServiceAccountUserFederatedIdentityOutputWithContext(ctx context.Context) GetClientServiceAccountUserFederatedIdentityOutput

func (GetClientServiceAccountUserFederatedIdentityOutput) UserId

func (GetClientServiceAccountUserFederatedIdentityOutput) UserName

type GetClientServiceAccountUserOutputArgs

type GetClientServiceAccountUserOutputArgs struct {
	// The ID of the OpenID client with service accounts enabled.
	ClientId pulumi.StringInput `pulumi:"clientId"`
	// The realm that the OpenID client exists within.
	RealmId pulumi.StringInput `pulumi:"realmId"`
}

A collection of arguments for invoking getClientServiceAccountUser.

func (GetClientServiceAccountUserOutputArgs) ElementType

type GetClientServiceAccountUserResult

type GetClientServiceAccountUserResult struct {
	Attributes          map[string]interface{}                         `pulumi:"attributes"`
	ClientId            string                                         `pulumi:"clientId"`
	Email               string                                         `pulumi:"email"`
	EmailVerified       bool                                           `pulumi:"emailVerified"`
	Enabled             bool                                           `pulumi:"enabled"`
	FederatedIdentities []GetClientServiceAccountUserFederatedIdentity `pulumi:"federatedIdentities"`
	FirstName           string                                         `pulumi:"firstName"`
	// The provider-assigned unique ID for this managed resource.
	Id              string   `pulumi:"id"`
	LastName        string   `pulumi:"lastName"`
	RealmId         string   `pulumi:"realmId"`
	RequiredActions []string `pulumi:"requiredActions"`
	Username        string   `pulumi:"username"`
}

A collection of values returned by getClientServiceAccountUser.

func GetClientServiceAccountUser

func GetClientServiceAccountUser(ctx *pulumi.Context, args *GetClientServiceAccountUserArgs, opts ...pulumi.InvokeOption) (*GetClientServiceAccountUserResult, error)

This data source can be used to fetch information about the service account user that is associated with an OpenID client that has service accounts enabled.

## Example Usage

In this example, we'll create an OpenID client with service accounts enabled. This causes Keycloak to create a special user that represents the service account. We'll use this data source to grab this user's ID in order to assign some roles to this user, using the `UserRoles` resource.

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak"
"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak/openid"
"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
		}
		client, err := openid.NewClient(ctx, "client", &openid.ClientArgs{
			RealmId:                realm.ID(),
			ClientId:               pulumi.String("client"),
			AccessType:             pulumi.String("CONFIDENTIAL"),
			ServiceAccountsEnabled: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		serviceAccountUser := openid.GetClientServiceAccountUserOutput(ctx, openid.GetClientServiceAccountUserOutputArgs{
			RealmId:  realm.ID(),
			ClientId: client.ID(),
		}, nil)
		offlineAccess := keycloak.LookupRoleOutput(ctx, keycloak.GetRoleOutputArgs{
			RealmId: realm.ID(),
			Name:    pulumi.String("offline_access"),
		}, nil)
		_, err = keycloak.NewUserRoles(ctx, "serviceAccountUserRoles", &keycloak.UserRolesArgs{
			RealmId: realm.ID(),
			UserId: serviceAccountUser.ApplyT(func(serviceAccountUser openid.GetClientServiceAccountUserResult) (*string, error) {
				return &serviceAccountUser.Id, nil
			}).(pulumi.StringPtrOutput),
			RoleIds: pulumi.StringArray{
				offlineAccess.ApplyT(func(offlineAccess keycloak.GetRoleResult) (*string, error) {
					return &offlineAccess.Id, nil
				}).(pulumi.StringPtrOutput),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

type GetClientServiceAccountUserResultOutput

type GetClientServiceAccountUserResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getClientServiceAccountUser.

func (GetClientServiceAccountUserResultOutput) Attributes

func (GetClientServiceAccountUserResultOutput) ClientId

func (GetClientServiceAccountUserResultOutput) ElementType

func (GetClientServiceAccountUserResultOutput) Email

func (GetClientServiceAccountUserResultOutput) EmailVerified

func (GetClientServiceAccountUserResultOutput) Enabled

func (GetClientServiceAccountUserResultOutput) FederatedIdentities

func (GetClientServiceAccountUserResultOutput) FirstName

func (GetClientServiceAccountUserResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (GetClientServiceAccountUserResultOutput) LastName

func (GetClientServiceAccountUserResultOutput) RealmId

func (GetClientServiceAccountUserResultOutput) RequiredActions added in v5.3.0

func (GetClientServiceAccountUserResultOutput) ToGetClientServiceAccountUserResultOutput

func (o GetClientServiceAccountUserResultOutput) ToGetClientServiceAccountUserResultOutput() GetClientServiceAccountUserResultOutput

func (GetClientServiceAccountUserResultOutput) ToGetClientServiceAccountUserResultOutputWithContext

func (o GetClientServiceAccountUserResultOutput) ToGetClientServiceAccountUserResultOutputWithContext(ctx context.Context) GetClientServiceAccountUserResultOutput

func (GetClientServiceAccountUserResultOutput) Username

type GroupMembershipProtocolMapper

type GroupMembershipProtocolMapper struct {
	pulumi.CustomResourceState

	AddToAccessToken pulumi.BoolPtrOutput `pulumi:"addToAccessToken"`
	AddToIdToken     pulumi.BoolPtrOutput `pulumi:"addToIdToken"`
	AddToUserinfo    pulumi.BoolPtrOutput `pulumi:"addToUserinfo"`
	ClaimName        pulumi.StringOutput  `pulumi:"claimName"`
	// The mapper's associated client. Cannot be used at the same time as client_scope_id.
	ClientId pulumi.StringPtrOutput `pulumi:"clientId"`
	// The mapper's associated client scope. Cannot be used at the same time as client_id.
	ClientScopeId pulumi.StringPtrOutput `pulumi:"clientScopeId"`
	FullPath      pulumi.BoolPtrOutput   `pulumi:"fullPath"`
	// A human-friendly name that will appear in the Keycloak console.
	Name pulumi.StringOutput `pulumi:"name"`
	// The realm id where the associated client or client scope exists.
	RealmId pulumi.StringOutput `pulumi:"realmId"`
}

## # openid.GroupMembershipProtocolMapper

Allows for creating and managing group membership protocol mappers within Keycloak.

Group membership protocol mappers allow you to map a user's group memberships to a claim in a token. Protocol mappers can be defined for a single client, or they can be defined for a client scope which can be shared between multiple different clients.

### Example Usage (Client)

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak"
"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak/openid"
"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{
			Enabled: pulumi.Bool(true),
			Realm:   pulumi.String("my-realm"),
		})
		if err != nil {
			return err
		}
		openidClient, err := openid.NewClient(ctx, "openidClient", &openid.ClientArgs{
			AccessType: pulumi.String("CONFIDENTIAL"),
			ClientId:   pulumi.String("test-client"),
			Enabled:    pulumi.Bool(true),
			RealmId:    realm.ID(),
			ValidRedirectUris: pulumi.StringArray{
				pulumi.String("http://localhost:8080/openid-callback"),
			},
		})
		if err != nil {
			return err
		}
		_, err = openid.NewGroupMembershipProtocolMapper(ctx, "groupMembershipMapper", &openid.GroupMembershipProtocolMapperArgs{
			ClaimName: pulumi.String("groups"),
			ClientId:  openidClient.ID(),
			RealmId:   realm.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

### Example Usage (Client Scope)

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak"
"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak/openid"
"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{
			Enabled: pulumi.Bool(true),
			Realm:   pulumi.String("my-realm"),
		})
		if err != nil {
			return err
		}
		clientScope, err := openid.NewClientScope(ctx, "clientScope", &openid.ClientScopeArgs{
			RealmId: realm.ID(),
		})
		if err != nil {
			return err
		}
		_, err = openid.NewGroupMembershipProtocolMapper(ctx, "groupMembershipMapper", &openid.GroupMembershipProtocolMapperArgs{
			ClaimName:     pulumi.String("groups"),
			ClientScopeId: clientScope.ID(),
			RealmId:       realm.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

### Argument Reference

The following arguments are supported:

- `realmId` - (Required) The realm this protocol mapper exists within. - `clientId` - (Required if `clientScopeId` is not specified) The client this protocol mapper is attached to. - `clientScopeId` - (Required if `clientId` is not specified) The client scope this protocol mapper is attached to. - `name` - (Required) The display name of this protocol mapper in the GUI. - `claimName` - (Required) The name of the claim to insert into a token. - `fullPath` - (Optional) Indicates whether the full path of the group including its parents will be used. Defaults to `true`. - `addToIdToken` - (Optional) Indicates if the property should be added as a claim to the id token. Defaults to `true`. - `addToAccessToken` - (Optional) Indicates if the property should be added as a claim to the access token. Defaults to `true`. - `addToUserinfo` - (Optional) Indicates if the property should be added as a claim to the UserInfo response body. Defaults to `true`.

### Import

Protocol mappers can be imported using one of the following formats: - Client: `{{realm_id}}/client/{{client_keycloak_id}}/{{protocol_mapper_id}}` - Client Scope: `{{realm_id}}/client-scope/{{client_scope_keycloak_id}}/{{protocol_mapper_id}}`

Example:

func GetGroupMembershipProtocolMapper

func GetGroupMembershipProtocolMapper(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *GroupMembershipProtocolMapperState, opts ...pulumi.ResourceOption) (*GroupMembershipProtocolMapper, error)

GetGroupMembershipProtocolMapper gets an existing GroupMembershipProtocolMapper 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 NewGroupMembershipProtocolMapper

func NewGroupMembershipProtocolMapper(ctx *pulumi.Context,
	name string, args *GroupMembershipProtocolMapperArgs, opts ...pulumi.ResourceOption) (*GroupMembershipProtocolMapper, error)

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

func (*GroupMembershipProtocolMapper) ElementType

func (*GroupMembershipProtocolMapper) ToGroupMembershipProtocolMapperOutput

func (i *GroupMembershipProtocolMapper) ToGroupMembershipProtocolMapperOutput() GroupMembershipProtocolMapperOutput

func (*GroupMembershipProtocolMapper) ToGroupMembershipProtocolMapperOutputWithContext

func (i *GroupMembershipProtocolMapper) ToGroupMembershipProtocolMapperOutputWithContext(ctx context.Context) GroupMembershipProtocolMapperOutput

type GroupMembershipProtocolMapperArgs

type GroupMembershipProtocolMapperArgs struct {
	AddToAccessToken pulumi.BoolPtrInput
	AddToIdToken     pulumi.BoolPtrInput
	AddToUserinfo    pulumi.BoolPtrInput
	ClaimName        pulumi.StringInput
	// The mapper's associated client. Cannot be used at the same time as client_scope_id.
	ClientId pulumi.StringPtrInput
	// The mapper's associated client scope. Cannot be used at the same time as client_id.
	ClientScopeId pulumi.StringPtrInput
	FullPath      pulumi.BoolPtrInput
	// A human-friendly name that will appear in the Keycloak console.
	Name pulumi.StringPtrInput
	// The realm id where the associated client or client scope exists.
	RealmId pulumi.StringInput
}

The set of arguments for constructing a GroupMembershipProtocolMapper resource.

func (GroupMembershipProtocolMapperArgs) ElementType

type GroupMembershipProtocolMapperArray

type GroupMembershipProtocolMapperArray []GroupMembershipProtocolMapperInput

func (GroupMembershipProtocolMapperArray) ElementType

func (GroupMembershipProtocolMapperArray) ToGroupMembershipProtocolMapperArrayOutput

func (i GroupMembershipProtocolMapperArray) ToGroupMembershipProtocolMapperArrayOutput() GroupMembershipProtocolMapperArrayOutput

func (GroupMembershipProtocolMapperArray) ToGroupMembershipProtocolMapperArrayOutputWithContext

func (i GroupMembershipProtocolMapperArray) ToGroupMembershipProtocolMapperArrayOutputWithContext(ctx context.Context) GroupMembershipProtocolMapperArrayOutput

type GroupMembershipProtocolMapperArrayInput

type GroupMembershipProtocolMapperArrayInput interface {
	pulumi.Input

	ToGroupMembershipProtocolMapperArrayOutput() GroupMembershipProtocolMapperArrayOutput
	ToGroupMembershipProtocolMapperArrayOutputWithContext(context.Context) GroupMembershipProtocolMapperArrayOutput
}

GroupMembershipProtocolMapperArrayInput is an input type that accepts GroupMembershipProtocolMapperArray and GroupMembershipProtocolMapperArrayOutput values. You can construct a concrete instance of `GroupMembershipProtocolMapperArrayInput` via:

GroupMembershipProtocolMapperArray{ GroupMembershipProtocolMapperArgs{...} }

type GroupMembershipProtocolMapperArrayOutput

type GroupMembershipProtocolMapperArrayOutput struct{ *pulumi.OutputState }

func (GroupMembershipProtocolMapperArrayOutput) ElementType

func (GroupMembershipProtocolMapperArrayOutput) Index

func (GroupMembershipProtocolMapperArrayOutput) ToGroupMembershipProtocolMapperArrayOutput

func (o GroupMembershipProtocolMapperArrayOutput) ToGroupMembershipProtocolMapperArrayOutput() GroupMembershipProtocolMapperArrayOutput

func (GroupMembershipProtocolMapperArrayOutput) ToGroupMembershipProtocolMapperArrayOutputWithContext

func (o GroupMembershipProtocolMapperArrayOutput) ToGroupMembershipProtocolMapperArrayOutputWithContext(ctx context.Context) GroupMembershipProtocolMapperArrayOutput

type GroupMembershipProtocolMapperInput

type GroupMembershipProtocolMapperInput interface {
	pulumi.Input

	ToGroupMembershipProtocolMapperOutput() GroupMembershipProtocolMapperOutput
	ToGroupMembershipProtocolMapperOutputWithContext(ctx context.Context) GroupMembershipProtocolMapperOutput
}

type GroupMembershipProtocolMapperMap

type GroupMembershipProtocolMapperMap map[string]GroupMembershipProtocolMapperInput

func (GroupMembershipProtocolMapperMap) ElementType

func (GroupMembershipProtocolMapperMap) ToGroupMembershipProtocolMapperMapOutput

func (i GroupMembershipProtocolMapperMap) ToGroupMembershipProtocolMapperMapOutput() GroupMembershipProtocolMapperMapOutput

func (GroupMembershipProtocolMapperMap) ToGroupMembershipProtocolMapperMapOutputWithContext

func (i GroupMembershipProtocolMapperMap) ToGroupMembershipProtocolMapperMapOutputWithContext(ctx context.Context) GroupMembershipProtocolMapperMapOutput

type GroupMembershipProtocolMapperMapInput

type GroupMembershipProtocolMapperMapInput interface {
	pulumi.Input

	ToGroupMembershipProtocolMapperMapOutput() GroupMembershipProtocolMapperMapOutput
	ToGroupMembershipProtocolMapperMapOutputWithContext(context.Context) GroupMembershipProtocolMapperMapOutput
}

GroupMembershipProtocolMapperMapInput is an input type that accepts GroupMembershipProtocolMapperMap and GroupMembershipProtocolMapperMapOutput values. You can construct a concrete instance of `GroupMembershipProtocolMapperMapInput` via:

GroupMembershipProtocolMapperMap{ "key": GroupMembershipProtocolMapperArgs{...} }

type GroupMembershipProtocolMapperMapOutput

type GroupMembershipProtocolMapperMapOutput struct{ *pulumi.OutputState }

func (GroupMembershipProtocolMapperMapOutput) ElementType

func (GroupMembershipProtocolMapperMapOutput) MapIndex

func (GroupMembershipProtocolMapperMapOutput) ToGroupMembershipProtocolMapperMapOutput

func (o GroupMembershipProtocolMapperMapOutput) ToGroupMembershipProtocolMapperMapOutput() GroupMembershipProtocolMapperMapOutput

func (GroupMembershipProtocolMapperMapOutput) ToGroupMembershipProtocolMapperMapOutputWithContext

func (o GroupMembershipProtocolMapperMapOutput) ToGroupMembershipProtocolMapperMapOutputWithContext(ctx context.Context) GroupMembershipProtocolMapperMapOutput

type GroupMembershipProtocolMapperOutput

type GroupMembershipProtocolMapperOutput struct{ *pulumi.OutputState }

func (GroupMembershipProtocolMapperOutput) AddToAccessToken

func (GroupMembershipProtocolMapperOutput) AddToIdToken

func (GroupMembershipProtocolMapperOutput) AddToUserinfo

func (GroupMembershipProtocolMapperOutput) ClaimName

func (GroupMembershipProtocolMapperOutput) ClientId

The mapper's associated client. Cannot be used at the same time as client_scope_id.

func (GroupMembershipProtocolMapperOutput) ClientScopeId

The mapper's associated client scope. Cannot be used at the same time as client_id.

func (GroupMembershipProtocolMapperOutput) ElementType

func (GroupMembershipProtocolMapperOutput) FullPath

func (GroupMembershipProtocolMapperOutput) Name

A human-friendly name that will appear in the Keycloak console.

func (GroupMembershipProtocolMapperOutput) RealmId

The realm id where the associated client or client scope exists.

func (GroupMembershipProtocolMapperOutput) ToGroupMembershipProtocolMapperOutput

func (o GroupMembershipProtocolMapperOutput) ToGroupMembershipProtocolMapperOutput() GroupMembershipProtocolMapperOutput

func (GroupMembershipProtocolMapperOutput) ToGroupMembershipProtocolMapperOutputWithContext

func (o GroupMembershipProtocolMapperOutput) ToGroupMembershipProtocolMapperOutputWithContext(ctx context.Context) GroupMembershipProtocolMapperOutput

type GroupMembershipProtocolMapperState

type GroupMembershipProtocolMapperState struct {
	AddToAccessToken pulumi.BoolPtrInput
	AddToIdToken     pulumi.BoolPtrInput
	AddToUserinfo    pulumi.BoolPtrInput
	ClaimName        pulumi.StringPtrInput
	// The mapper's associated client. Cannot be used at the same time as client_scope_id.
	ClientId pulumi.StringPtrInput
	// The mapper's associated client scope. Cannot be used at the same time as client_id.
	ClientScopeId pulumi.StringPtrInput
	FullPath      pulumi.BoolPtrInput
	// A human-friendly name that will appear in the Keycloak console.
	Name pulumi.StringPtrInput
	// The realm id where the associated client or client scope exists.
	RealmId pulumi.StringPtrInput
}

func (GroupMembershipProtocolMapperState) ElementType

type HardcodedClaimProtocolMapper

type HardcodedClaimProtocolMapper struct {
	pulumi.CustomResourceState

	// Indicates if the attribute should be a claim in the access token.
	AddToAccessToken pulumi.BoolPtrOutput `pulumi:"addToAccessToken"`
	// Indicates if the attribute should be a claim in the id token.
	AddToIdToken pulumi.BoolPtrOutput `pulumi:"addToIdToken"`
	// Indicates if the attribute should appear in the userinfo response body.
	AddToUserinfo pulumi.BoolPtrOutput `pulumi:"addToUserinfo"`
	ClaimName     pulumi.StringOutput  `pulumi:"claimName"`
	ClaimValue    pulumi.StringOutput  `pulumi:"claimValue"`
	// Claim type used when serializing tokens.
	ClaimValueType pulumi.StringPtrOutput `pulumi:"claimValueType"`
	// The mapper's associated client. Cannot be used at the same time as client_scope_id.
	ClientId pulumi.StringPtrOutput `pulumi:"clientId"`
	// The mapper's associated client scope. Cannot be used at the same time as client_id.
	ClientScopeId pulumi.StringPtrOutput `pulumi:"clientScopeId"`
	// A human-friendly name that will appear in the Keycloak console.
	Name pulumi.StringOutput `pulumi:"name"`
	// The realm id where the associated client or client scope exists.
	RealmId pulumi.StringOutput `pulumi:"realmId"`
}

## # openid.HardcodedClaimProtocolMapper

Allows for creating and managing hardcoded claim protocol mappers within Keycloak.

Hardcoded claim protocol mappers allow you to define a claim with a hardcoded value. Protocol mappers can be defined for a single client, or they can be defined for a client scope which can be shared between multiple different clients.

### Example Usage (Client)

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak"
"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak/openid"
"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{
			Enabled: pulumi.Bool(true),
			Realm:   pulumi.String("my-realm"),
		})
		if err != nil {
			return err
		}
		openidClient, err := openid.NewClient(ctx, "openidClient", &openid.ClientArgs{
			AccessType: pulumi.String("CONFIDENTIAL"),
			ClientId:   pulumi.String("test-client"),
			Enabled:    pulumi.Bool(true),
			RealmId:    realm.ID(),
			ValidRedirectUris: pulumi.StringArray{
				pulumi.String("http://localhost:8080/openid-callback"),
			},
		})
		if err != nil {
			return err
		}
		_, err = openid.NewHardcodedClaimProtocolMapper(ctx, "hardcodedClaimMapper", &openid.HardcodedClaimProtocolMapperArgs{
			ClaimName:  pulumi.String("foo"),
			ClaimValue: pulumi.String("bar"),
			ClientId:   openidClient.ID(),
			RealmId:    realm.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

### Example Usage (Client Scope)

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak"
"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak/openid"
"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{
			Enabled: pulumi.Bool(true),
			Realm:   pulumi.String("my-realm"),
		})
		if err != nil {
			return err
		}
		clientScope, err := openid.NewClientScope(ctx, "clientScope", &openid.ClientScopeArgs{
			RealmId: realm.ID(),
		})
		if err != nil {
			return err
		}
		_, err = openid.NewHardcodedClaimProtocolMapper(ctx, "hardcodedClaimMapper", &openid.HardcodedClaimProtocolMapperArgs{
			ClaimName:     pulumi.String("foo"),
			ClaimValue:    pulumi.String("bar"),
			ClientScopeId: clientScope.ID(),
			RealmId:       realm.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

### Argument Reference

The following arguments are supported:

- `realmId` - (Required) The realm this protocol mapper exists within. - `clientId` - (Required if `clientScopeId` is not specified) The client this protocol mapper is attached to. - `clientScopeId` - (Required if `clientId` is not specified) The client scope this protocol mapper is attached to. - `name` - (Required) The display name of this protocol mapper in the GUI. - `claimName` - (Required) The name of the claim to insert into a token. - `claimValue` - (Required) The hardcoded value of the claim. - `claimValueType` - (Optional) The claim type used when serializing JSON tokens. Can be one of `String`, `long`, `int`, or `boolean`. Defaults to `String`. - `addToIdToken` - (Optional) Indicates if the property should be added as a claim to the id token. Defaults to `true`. - `addToAccessToken` - (Optional) Indicates if the property should be added as a claim to the access token. Defaults to `true`. - `addToUserinfo` - (Optional) Indicates if the property should be added as a claim to the UserInfo response body. Defaults to `true`.

### Import

Protocol mappers can be imported using one of the following formats: - Client: `{{realm_id}}/client/{{client_keycloak_id}}/{{protocol_mapper_id}}` - Client Scope: `{{realm_id}}/client-scope/{{client_scope_keycloak_id}}/{{protocol_mapper_id}}`

Example:

func GetHardcodedClaimProtocolMapper

func GetHardcodedClaimProtocolMapper(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *HardcodedClaimProtocolMapperState, opts ...pulumi.ResourceOption) (*HardcodedClaimProtocolMapper, error)

GetHardcodedClaimProtocolMapper gets an existing HardcodedClaimProtocolMapper 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 NewHardcodedClaimProtocolMapper

func NewHardcodedClaimProtocolMapper(ctx *pulumi.Context,
	name string, args *HardcodedClaimProtocolMapperArgs, opts ...pulumi.ResourceOption) (*HardcodedClaimProtocolMapper, error)

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

func (*HardcodedClaimProtocolMapper) ElementType

func (*HardcodedClaimProtocolMapper) ElementType() reflect.Type

func (*HardcodedClaimProtocolMapper) ToHardcodedClaimProtocolMapperOutput

func (i *HardcodedClaimProtocolMapper) ToHardcodedClaimProtocolMapperOutput() HardcodedClaimProtocolMapperOutput

func (*HardcodedClaimProtocolMapper) ToHardcodedClaimProtocolMapperOutputWithContext

func (i *HardcodedClaimProtocolMapper) ToHardcodedClaimProtocolMapperOutputWithContext(ctx context.Context) HardcodedClaimProtocolMapperOutput

type HardcodedClaimProtocolMapperArgs

type HardcodedClaimProtocolMapperArgs struct {
	// Indicates if the attribute should be a claim in the access token.
	AddToAccessToken pulumi.BoolPtrInput
	// Indicates if the attribute should be a claim in the id token.
	AddToIdToken pulumi.BoolPtrInput
	// Indicates if the attribute should appear in the userinfo response body.
	AddToUserinfo pulumi.BoolPtrInput
	ClaimName     pulumi.StringInput
	ClaimValue    pulumi.StringInput
	// Claim type used when serializing tokens.
	ClaimValueType pulumi.StringPtrInput
	// The mapper's associated client. Cannot be used at the same time as client_scope_id.
	ClientId pulumi.StringPtrInput
	// The mapper's associated client scope. Cannot be used at the same time as client_id.
	ClientScopeId pulumi.StringPtrInput
	// A human-friendly name that will appear in the Keycloak console.
	Name pulumi.StringPtrInput
	// The realm id where the associated client or client scope exists.
	RealmId pulumi.StringInput
}

The set of arguments for constructing a HardcodedClaimProtocolMapper resource.

func (HardcodedClaimProtocolMapperArgs) ElementType

type HardcodedClaimProtocolMapperArray

type HardcodedClaimProtocolMapperArray []HardcodedClaimProtocolMapperInput

func (HardcodedClaimProtocolMapperArray) ElementType

func (HardcodedClaimProtocolMapperArray) ToHardcodedClaimProtocolMapperArrayOutput

func (i HardcodedClaimProtocolMapperArray) ToHardcodedClaimProtocolMapperArrayOutput() HardcodedClaimProtocolMapperArrayOutput

func (HardcodedClaimProtocolMapperArray) ToHardcodedClaimProtocolMapperArrayOutputWithContext

func (i HardcodedClaimProtocolMapperArray) ToHardcodedClaimProtocolMapperArrayOutputWithContext(ctx context.Context) HardcodedClaimProtocolMapperArrayOutput

type HardcodedClaimProtocolMapperArrayInput

type HardcodedClaimProtocolMapperArrayInput interface {
	pulumi.Input

	ToHardcodedClaimProtocolMapperArrayOutput() HardcodedClaimProtocolMapperArrayOutput
	ToHardcodedClaimProtocolMapperArrayOutputWithContext(context.Context) HardcodedClaimProtocolMapperArrayOutput
}

HardcodedClaimProtocolMapperArrayInput is an input type that accepts HardcodedClaimProtocolMapperArray and HardcodedClaimProtocolMapperArrayOutput values. You can construct a concrete instance of `HardcodedClaimProtocolMapperArrayInput` via:

HardcodedClaimProtocolMapperArray{ HardcodedClaimProtocolMapperArgs{...} }

type HardcodedClaimProtocolMapperArrayOutput

type HardcodedClaimProtocolMapperArrayOutput struct{ *pulumi.OutputState }

func (HardcodedClaimProtocolMapperArrayOutput) ElementType

func (HardcodedClaimProtocolMapperArrayOutput) Index

func (HardcodedClaimProtocolMapperArrayOutput) ToHardcodedClaimProtocolMapperArrayOutput

func (o HardcodedClaimProtocolMapperArrayOutput) ToHardcodedClaimProtocolMapperArrayOutput() HardcodedClaimProtocolMapperArrayOutput

func (HardcodedClaimProtocolMapperArrayOutput) ToHardcodedClaimProtocolMapperArrayOutputWithContext

func (o HardcodedClaimProtocolMapperArrayOutput) ToHardcodedClaimProtocolMapperArrayOutputWithContext(ctx context.Context) HardcodedClaimProtocolMapperArrayOutput

type HardcodedClaimProtocolMapperInput

type HardcodedClaimProtocolMapperInput interface {
	pulumi.Input

	ToHardcodedClaimProtocolMapperOutput() HardcodedClaimProtocolMapperOutput
	ToHardcodedClaimProtocolMapperOutputWithContext(ctx context.Context) HardcodedClaimProtocolMapperOutput
}

type HardcodedClaimProtocolMapperMap

type HardcodedClaimProtocolMapperMap map[string]HardcodedClaimProtocolMapperInput

func (HardcodedClaimProtocolMapperMap) ElementType

func (HardcodedClaimProtocolMapperMap) ToHardcodedClaimProtocolMapperMapOutput

func (i HardcodedClaimProtocolMapperMap) ToHardcodedClaimProtocolMapperMapOutput() HardcodedClaimProtocolMapperMapOutput

func (HardcodedClaimProtocolMapperMap) ToHardcodedClaimProtocolMapperMapOutputWithContext

func (i HardcodedClaimProtocolMapperMap) ToHardcodedClaimProtocolMapperMapOutputWithContext(ctx context.Context) HardcodedClaimProtocolMapperMapOutput

type HardcodedClaimProtocolMapperMapInput

type HardcodedClaimProtocolMapperMapInput interface {
	pulumi.Input

	ToHardcodedClaimProtocolMapperMapOutput() HardcodedClaimProtocolMapperMapOutput
	ToHardcodedClaimProtocolMapperMapOutputWithContext(context.Context) HardcodedClaimProtocolMapperMapOutput
}

HardcodedClaimProtocolMapperMapInput is an input type that accepts HardcodedClaimProtocolMapperMap and HardcodedClaimProtocolMapperMapOutput values. You can construct a concrete instance of `HardcodedClaimProtocolMapperMapInput` via:

HardcodedClaimProtocolMapperMap{ "key": HardcodedClaimProtocolMapperArgs{...} }

type HardcodedClaimProtocolMapperMapOutput

type HardcodedClaimProtocolMapperMapOutput struct{ *pulumi.OutputState }

func (HardcodedClaimProtocolMapperMapOutput) ElementType

func (HardcodedClaimProtocolMapperMapOutput) MapIndex

func (HardcodedClaimProtocolMapperMapOutput) ToHardcodedClaimProtocolMapperMapOutput

func (o HardcodedClaimProtocolMapperMapOutput) ToHardcodedClaimProtocolMapperMapOutput() HardcodedClaimProtocolMapperMapOutput

func (HardcodedClaimProtocolMapperMapOutput) ToHardcodedClaimProtocolMapperMapOutputWithContext

func (o HardcodedClaimProtocolMapperMapOutput) ToHardcodedClaimProtocolMapperMapOutputWithContext(ctx context.Context) HardcodedClaimProtocolMapperMapOutput

type HardcodedClaimProtocolMapperOutput

type HardcodedClaimProtocolMapperOutput struct{ *pulumi.OutputState }

func (HardcodedClaimProtocolMapperOutput) AddToAccessToken

Indicates if the attribute should be a claim in the access token.

func (HardcodedClaimProtocolMapperOutput) AddToIdToken

Indicates if the attribute should be a claim in the id token.

func (HardcodedClaimProtocolMapperOutput) AddToUserinfo

Indicates if the attribute should appear in the userinfo response body.

func (HardcodedClaimProtocolMapperOutput) ClaimName

func (HardcodedClaimProtocolMapperOutput) ClaimValue

func (HardcodedClaimProtocolMapperOutput) ClaimValueType

Claim type used when serializing tokens.

func (HardcodedClaimProtocolMapperOutput) ClientId

The mapper's associated client. Cannot be used at the same time as client_scope_id.

func (HardcodedClaimProtocolMapperOutput) ClientScopeId

The mapper's associated client scope. Cannot be used at the same time as client_id.

func (HardcodedClaimProtocolMapperOutput) ElementType

func (HardcodedClaimProtocolMapperOutput) Name

A human-friendly name that will appear in the Keycloak console.

func (HardcodedClaimProtocolMapperOutput) RealmId

The realm id where the associated client or client scope exists.

func (HardcodedClaimProtocolMapperOutput) ToHardcodedClaimProtocolMapperOutput

func (o HardcodedClaimProtocolMapperOutput) ToHardcodedClaimProtocolMapperOutput() HardcodedClaimProtocolMapperOutput

func (HardcodedClaimProtocolMapperOutput) ToHardcodedClaimProtocolMapperOutputWithContext

func (o HardcodedClaimProtocolMapperOutput) ToHardcodedClaimProtocolMapperOutputWithContext(ctx context.Context) HardcodedClaimProtocolMapperOutput

type HardcodedClaimProtocolMapperState

type HardcodedClaimProtocolMapperState struct {
	// Indicates if the attribute should be a claim in the access token.
	AddToAccessToken pulumi.BoolPtrInput
	// Indicates if the attribute should be a claim in the id token.
	AddToIdToken pulumi.BoolPtrInput
	// Indicates if the attribute should appear in the userinfo response body.
	AddToUserinfo pulumi.BoolPtrInput
	ClaimName     pulumi.StringPtrInput
	ClaimValue    pulumi.StringPtrInput
	// Claim type used when serializing tokens.
	ClaimValueType pulumi.StringPtrInput
	// The mapper's associated client. Cannot be used at the same time as client_scope_id.
	ClientId pulumi.StringPtrInput
	// The mapper's associated client scope. Cannot be used at the same time as client_id.
	ClientScopeId pulumi.StringPtrInput
	// A human-friendly name that will appear in the Keycloak console.
	Name pulumi.StringPtrInput
	// The realm id where the associated client or client scope exists.
	RealmId pulumi.StringPtrInput
}

func (HardcodedClaimProtocolMapperState) ElementType

type HardcodedRoleProtocolMapper

type HardcodedRoleProtocolMapper struct {
	pulumi.CustomResourceState

	// The mapper's associated client. Cannot be used at the same time as client_scope_id.
	ClientId pulumi.StringPtrOutput `pulumi:"clientId"`
	// The mapper's associated client scope. Cannot be used at the same time as client_id.
	ClientScopeId pulumi.StringPtrOutput `pulumi:"clientScopeId"`
	// A human-friendly name that will appear in the Keycloak console.
	Name pulumi.StringOutput `pulumi:"name"`
	// The realm id where the associated client or client scope exists.
	RealmId pulumi.StringOutput `pulumi:"realmId"`
	RoleId  pulumi.StringOutput `pulumi:"roleId"`
}

## # openid.HardcodedRoleProtocolMapper

Allows for creating and managing hardcoded role protocol mappers within Keycloak.

Hardcoded role protocol mappers allow you to specify a single role to always map to an access token for a client. Protocol mappers can be defined for a single client, or they can be defined for a client scope which can be shared between multiple different clients.

### Example Usage (Client)

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak"
"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak/openid"
"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{
			Enabled: pulumi.Bool(true),
			Realm:   pulumi.String("my-realm"),
		})
		if err != nil {
			return err
		}
		role, err := keycloak.NewRole(ctx, "role", &keycloak.RoleArgs{
			RealmId: realm.ID(),
		})
		if err != nil {
			return err
		}
		openidClient, err := openid.NewClient(ctx, "openidClient", &openid.ClientArgs{
			AccessType: pulumi.String("CONFIDENTIAL"),
			ClientId:   pulumi.String("test-client"),
			Enabled:    pulumi.Bool(true),
			RealmId:    realm.ID(),
			ValidRedirectUris: pulumi.StringArray{
				pulumi.String("http://localhost:8080/openid-callback"),
			},
		})
		if err != nil {
			return err
		}
		_, err = openid.NewHardcodedRoleProtocolMapper(ctx, "hardcodedRoleMapper", &openid.HardcodedRoleProtocolMapperArgs{
			ClientId: openidClient.ID(),
			RealmId:  realm.ID(),
			RoleId:   role.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

### Example Usage (Client Scope)

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak"
"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak/openid"
"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{
			Enabled: pulumi.Bool(true),
			Realm:   pulumi.String("my-realm"),
		})
		if err != nil {
			return err
		}
		role, err := keycloak.NewRole(ctx, "role", &keycloak.RoleArgs{
			RealmId: realm.ID(),
		})
		if err != nil {
			return err
		}
		clientScope, err := openid.NewClientScope(ctx, "clientScope", &openid.ClientScopeArgs{
			RealmId: realm.ID(),
		})
		if err != nil {
			return err
		}
		_, err = openid.NewHardcodedRoleProtocolMapper(ctx, "hardcodedRoleMapper", &openid.HardcodedRoleProtocolMapperArgs{
			ClientScopeId: clientScope.ID(),
			RealmId:       realm.ID(),
			RoleId:        role.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

### Argument Reference

The following arguments are supported:

  • `realmId` - (Required) The realm this protocol mapper exists within.
  • `clientId` - (Required if `clientScopeId` is not specified) The client this protocol mapper is attached to.
  • `clientScopeId` - (Required if `clientId` is not specified) The client scope this protocol mapper is attached to.
  • `name` - (Required) The display name of this protocol mapper in the GUI.
  • `roleId` - (Required) The ID of the role to map to an access token.

### Import

Protocol mappers can be imported using one of the following formats: - Client: `{{realm_id}}/client/{{client_keycloak_id}}/{{protocol_mapper_id}}` - Client Scope: `{{realm_id}}/client-scope/{{client_scope_keycloak_id}}/{{protocol_mapper_id}}`

Example:

func GetHardcodedRoleProtocolMapper

func GetHardcodedRoleProtocolMapper(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *HardcodedRoleProtocolMapperState, opts ...pulumi.ResourceOption) (*HardcodedRoleProtocolMapper, error)

GetHardcodedRoleProtocolMapper gets an existing HardcodedRoleProtocolMapper 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 NewHardcodedRoleProtocolMapper

func NewHardcodedRoleProtocolMapper(ctx *pulumi.Context,
	name string, args *HardcodedRoleProtocolMapperArgs, opts ...pulumi.ResourceOption) (*HardcodedRoleProtocolMapper, error)

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

func (*HardcodedRoleProtocolMapper) ElementType

func (*HardcodedRoleProtocolMapper) ElementType() reflect.Type

func (*HardcodedRoleProtocolMapper) ToHardcodedRoleProtocolMapperOutput

func (i *HardcodedRoleProtocolMapper) ToHardcodedRoleProtocolMapperOutput() HardcodedRoleProtocolMapperOutput

func (*HardcodedRoleProtocolMapper) ToHardcodedRoleProtocolMapperOutputWithContext

func (i *HardcodedRoleProtocolMapper) ToHardcodedRoleProtocolMapperOutputWithContext(ctx context.Context) HardcodedRoleProtocolMapperOutput

type HardcodedRoleProtocolMapperArgs

type HardcodedRoleProtocolMapperArgs struct {
	// The mapper's associated client. Cannot be used at the same time as client_scope_id.
	ClientId pulumi.StringPtrInput
	// The mapper's associated client scope. Cannot be used at the same time as client_id.
	ClientScopeId pulumi.StringPtrInput
	// A human-friendly name that will appear in the Keycloak console.
	Name pulumi.StringPtrInput
	// The realm id where the associated client or client scope exists.
	RealmId pulumi.StringInput
	RoleId  pulumi.StringInput
}

The set of arguments for constructing a HardcodedRoleProtocolMapper resource.

func (HardcodedRoleProtocolMapperArgs) ElementType

type HardcodedRoleProtocolMapperArray

type HardcodedRoleProtocolMapperArray []HardcodedRoleProtocolMapperInput

func (HardcodedRoleProtocolMapperArray) ElementType

func (HardcodedRoleProtocolMapperArray) ToHardcodedRoleProtocolMapperArrayOutput

func (i HardcodedRoleProtocolMapperArray) ToHardcodedRoleProtocolMapperArrayOutput() HardcodedRoleProtocolMapperArrayOutput

func (HardcodedRoleProtocolMapperArray) ToHardcodedRoleProtocolMapperArrayOutputWithContext

func (i HardcodedRoleProtocolMapperArray) ToHardcodedRoleProtocolMapperArrayOutputWithContext(ctx context.Context) HardcodedRoleProtocolMapperArrayOutput

type HardcodedRoleProtocolMapperArrayInput

type HardcodedRoleProtocolMapperArrayInput interface {
	pulumi.Input

	ToHardcodedRoleProtocolMapperArrayOutput() HardcodedRoleProtocolMapperArrayOutput
	ToHardcodedRoleProtocolMapperArrayOutputWithContext(context.Context) HardcodedRoleProtocolMapperArrayOutput
}

HardcodedRoleProtocolMapperArrayInput is an input type that accepts HardcodedRoleProtocolMapperArray and HardcodedRoleProtocolMapperArrayOutput values. You can construct a concrete instance of `HardcodedRoleProtocolMapperArrayInput` via:

HardcodedRoleProtocolMapperArray{ HardcodedRoleProtocolMapperArgs{...} }

type HardcodedRoleProtocolMapperArrayOutput

type HardcodedRoleProtocolMapperArrayOutput struct{ *pulumi.OutputState }

func (HardcodedRoleProtocolMapperArrayOutput) ElementType

func (HardcodedRoleProtocolMapperArrayOutput) Index

func (HardcodedRoleProtocolMapperArrayOutput) ToHardcodedRoleProtocolMapperArrayOutput

func (o HardcodedRoleProtocolMapperArrayOutput) ToHardcodedRoleProtocolMapperArrayOutput() HardcodedRoleProtocolMapperArrayOutput

func (HardcodedRoleProtocolMapperArrayOutput) ToHardcodedRoleProtocolMapperArrayOutputWithContext

func (o HardcodedRoleProtocolMapperArrayOutput) ToHardcodedRoleProtocolMapperArrayOutputWithContext(ctx context.Context) HardcodedRoleProtocolMapperArrayOutput

type HardcodedRoleProtocolMapperInput

type HardcodedRoleProtocolMapperInput interface {
	pulumi.Input

	ToHardcodedRoleProtocolMapperOutput() HardcodedRoleProtocolMapperOutput
	ToHardcodedRoleProtocolMapperOutputWithContext(ctx context.Context) HardcodedRoleProtocolMapperOutput
}

type HardcodedRoleProtocolMapperMap

type HardcodedRoleProtocolMapperMap map[string]HardcodedRoleProtocolMapperInput

func (HardcodedRoleProtocolMapperMap) ElementType

func (HardcodedRoleProtocolMapperMap) ToHardcodedRoleProtocolMapperMapOutput

func (i HardcodedRoleProtocolMapperMap) ToHardcodedRoleProtocolMapperMapOutput() HardcodedRoleProtocolMapperMapOutput

func (HardcodedRoleProtocolMapperMap) ToHardcodedRoleProtocolMapperMapOutputWithContext

func (i HardcodedRoleProtocolMapperMap) ToHardcodedRoleProtocolMapperMapOutputWithContext(ctx context.Context) HardcodedRoleProtocolMapperMapOutput

type HardcodedRoleProtocolMapperMapInput

type HardcodedRoleProtocolMapperMapInput interface {
	pulumi.Input

	ToHardcodedRoleProtocolMapperMapOutput() HardcodedRoleProtocolMapperMapOutput
	ToHardcodedRoleProtocolMapperMapOutputWithContext(context.Context) HardcodedRoleProtocolMapperMapOutput
}

HardcodedRoleProtocolMapperMapInput is an input type that accepts HardcodedRoleProtocolMapperMap and HardcodedRoleProtocolMapperMapOutput values. You can construct a concrete instance of `HardcodedRoleProtocolMapperMapInput` via:

HardcodedRoleProtocolMapperMap{ "key": HardcodedRoleProtocolMapperArgs{...} }

type HardcodedRoleProtocolMapperMapOutput

type HardcodedRoleProtocolMapperMapOutput struct{ *pulumi.OutputState }

func (HardcodedRoleProtocolMapperMapOutput) ElementType

func (HardcodedRoleProtocolMapperMapOutput) MapIndex

func (HardcodedRoleProtocolMapperMapOutput) ToHardcodedRoleProtocolMapperMapOutput

func (o HardcodedRoleProtocolMapperMapOutput) ToHardcodedRoleProtocolMapperMapOutput() HardcodedRoleProtocolMapperMapOutput

func (HardcodedRoleProtocolMapperMapOutput) ToHardcodedRoleProtocolMapperMapOutputWithContext

func (o HardcodedRoleProtocolMapperMapOutput) ToHardcodedRoleProtocolMapperMapOutputWithContext(ctx context.Context) HardcodedRoleProtocolMapperMapOutput

type HardcodedRoleProtocolMapperOutput

type HardcodedRoleProtocolMapperOutput struct{ *pulumi.OutputState }

func (HardcodedRoleProtocolMapperOutput) ClientId

The mapper's associated client. Cannot be used at the same time as client_scope_id.

func (HardcodedRoleProtocolMapperOutput) ClientScopeId

The mapper's associated client scope. Cannot be used at the same time as client_id.

func (HardcodedRoleProtocolMapperOutput) ElementType

func (HardcodedRoleProtocolMapperOutput) Name

A human-friendly name that will appear in the Keycloak console.

func (HardcodedRoleProtocolMapperOutput) RealmId

The realm id where the associated client or client scope exists.

func (HardcodedRoleProtocolMapperOutput) RoleId

func (HardcodedRoleProtocolMapperOutput) ToHardcodedRoleProtocolMapperOutput

func (o HardcodedRoleProtocolMapperOutput) ToHardcodedRoleProtocolMapperOutput() HardcodedRoleProtocolMapperOutput

func (HardcodedRoleProtocolMapperOutput) ToHardcodedRoleProtocolMapperOutputWithContext

func (o HardcodedRoleProtocolMapperOutput) ToHardcodedRoleProtocolMapperOutputWithContext(ctx context.Context) HardcodedRoleProtocolMapperOutput

type HardcodedRoleProtocolMapperState

type HardcodedRoleProtocolMapperState struct {
	// The mapper's associated client. Cannot be used at the same time as client_scope_id.
	ClientId pulumi.StringPtrInput
	// The mapper's associated client scope. Cannot be used at the same time as client_id.
	ClientScopeId pulumi.StringPtrInput
	// A human-friendly name that will appear in the Keycloak console.
	Name pulumi.StringPtrInput
	// The realm id where the associated client or client scope exists.
	RealmId pulumi.StringPtrInput
	RoleId  pulumi.StringPtrInput
}

func (HardcodedRoleProtocolMapperState) ElementType

type LookupClientArgs

type LookupClientArgs struct {
	ClientId                              string                 `pulumi:"clientId"`
	ConsentScreenText                     *string                `pulumi:"consentScreenText"`
	DisplayOnConsentScreen                *bool                  `pulumi:"displayOnConsentScreen"`
	ExtraConfig                           map[string]interface{} `pulumi:"extraConfig"`
	Oauth2DeviceAuthorizationGrantEnabled *bool                  `pulumi:"oauth2DeviceAuthorizationGrantEnabled"`
	Oauth2DeviceCodeLifespan              *string                `pulumi:"oauth2DeviceCodeLifespan"`
	Oauth2DevicePollingInterval           *string                `pulumi:"oauth2DevicePollingInterval"`
	RealmId                               string                 `pulumi:"realmId"`
}

A collection of arguments for invoking getClient.

type LookupClientOutputArgs

type LookupClientOutputArgs struct {
	ClientId                              pulumi.StringInput    `pulumi:"clientId"`
	ConsentScreenText                     pulumi.StringPtrInput `pulumi:"consentScreenText"`
	DisplayOnConsentScreen                pulumi.BoolPtrInput   `pulumi:"displayOnConsentScreen"`
	ExtraConfig                           pulumi.MapInput       `pulumi:"extraConfig"`
	Oauth2DeviceAuthorizationGrantEnabled pulumi.BoolPtrInput   `pulumi:"oauth2DeviceAuthorizationGrantEnabled"`
	Oauth2DeviceCodeLifespan              pulumi.StringPtrInput `pulumi:"oauth2DeviceCodeLifespan"`
	Oauth2DevicePollingInterval           pulumi.StringPtrInput `pulumi:"oauth2DevicePollingInterval"`
	RealmId                               pulumi.StringInput    `pulumi:"realmId"`
}

A collection of arguments for invoking getClient.

func (LookupClientOutputArgs) ElementType

func (LookupClientOutputArgs) ElementType() reflect.Type

type LookupClientResult

type LookupClientResult struct {
	AccessTokenLifespan                    string                                       `pulumi:"accessTokenLifespan"`
	AccessType                             string                                       `pulumi:"accessType"`
	AdminUrl                               string                                       `pulumi:"adminUrl"`
	AuthenticationFlowBindingOverrides     []GetClientAuthenticationFlowBindingOverride `pulumi:"authenticationFlowBindingOverrides"`
	Authorizations                         []GetClientAuthorization                     `pulumi:"authorizations"`
	BackchannelLogoutRevokeOfflineSessions bool                                         `pulumi:"backchannelLogoutRevokeOfflineSessions"`
	BackchannelLogoutSessionRequired       bool                                         `pulumi:"backchannelLogoutSessionRequired"`
	BackchannelLogoutUrl                   string                                       `pulumi:"backchannelLogoutUrl"`
	BaseUrl                                string                                       `pulumi:"baseUrl"`
	ClientAuthenticatorType                string                                       `pulumi:"clientAuthenticatorType"`
	ClientId                               string                                       `pulumi:"clientId"`
	ClientOfflineSessionIdleTimeout        string                                       `pulumi:"clientOfflineSessionIdleTimeout"`
	ClientOfflineSessionMaxLifespan        string                                       `pulumi:"clientOfflineSessionMaxLifespan"`
	ClientSecret                           string                                       `pulumi:"clientSecret"`
	ClientSessionIdleTimeout               string                                       `pulumi:"clientSessionIdleTimeout"`
	ClientSessionMaxLifespan               string                                       `pulumi:"clientSessionMaxLifespan"`
	ConsentRequired                        bool                                         `pulumi:"consentRequired"`
	ConsentScreenText                      *string                                      `pulumi:"consentScreenText"`
	Description                            string                                       `pulumi:"description"`
	DirectAccessGrantsEnabled              bool                                         `pulumi:"directAccessGrantsEnabled"`
	DisplayOnConsentScreen                 *bool                                        `pulumi:"displayOnConsentScreen"`
	Enabled                                bool                                         `pulumi:"enabled"`
	ExcludeSessionStateFromAuthResponse    bool                                         `pulumi:"excludeSessionStateFromAuthResponse"`
	ExtraConfig                            map[string]interface{}                       `pulumi:"extraConfig"`
	FrontchannelLogoutEnabled              bool                                         `pulumi:"frontchannelLogoutEnabled"`
	FrontchannelLogoutUrl                  string                                       `pulumi:"frontchannelLogoutUrl"`
	FullScopeAllowed                       bool                                         `pulumi:"fullScopeAllowed"`
	// The provider-assigned unique ID for this managed resource.
	Id                                    string   `pulumi:"id"`
	ImplicitFlowEnabled                   bool     `pulumi:"implicitFlowEnabled"`
	LoginTheme                            string   `pulumi:"loginTheme"`
	Name                                  string   `pulumi:"name"`
	Oauth2DeviceAuthorizationGrantEnabled *bool    `pulumi:"oauth2DeviceAuthorizationGrantEnabled"`
	Oauth2DeviceCodeLifespan              *string  `pulumi:"oauth2DeviceCodeLifespan"`
	Oauth2DevicePollingInterval           *string  `pulumi:"oauth2DevicePollingInterval"`
	PkceCodeChallengeMethod               string   `pulumi:"pkceCodeChallengeMethod"`
	RealmId                               string   `pulumi:"realmId"`
	ResourceServerId                      string   `pulumi:"resourceServerId"`
	RootUrl                               string   `pulumi:"rootUrl"`
	ServiceAccountUserId                  string   `pulumi:"serviceAccountUserId"`
	ServiceAccountsEnabled                bool     `pulumi:"serviceAccountsEnabled"`
	StandardFlowEnabled                   bool     `pulumi:"standardFlowEnabled"`
	UseRefreshTokens                      bool     `pulumi:"useRefreshTokens"`
	UseRefreshTokensClientCredentials     bool     `pulumi:"useRefreshTokensClientCredentials"`
	ValidPostLogoutRedirectUris           []string `pulumi:"validPostLogoutRedirectUris"`
	ValidRedirectUris                     []string `pulumi:"validRedirectUris"`
	WebOrigins                            []string `pulumi:"webOrigins"`
}

A collection of values returned by getClient.

func LookupClient

func LookupClient(ctx *pulumi.Context, args *LookupClientArgs, opts ...pulumi.InvokeOption) (*LookupClientResult, error)

## # openid.Client data source

This data source can be used to fetch properties of a Keycloak OpenID client for usage with other resources.

### Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak"
"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak/openid"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		realmManagement, err := openid.LookupClient(ctx, &openid.LookupClientArgs{
			RealmId:  "my-realm",
			ClientId: "realm-management",
		}, nil)
		if err != nil {
			return err
		}
		_, err = keycloak.LookupRole(ctx, &keycloak.LookupRoleArgs{
			RealmId:  "my-realm",
			ClientId: pulumi.StringRef(realmManagement.Id),
			Name:     "realm-admin",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

### Argument Reference

The following arguments are supported:

- `realmId` - (Required) The realm id. - `clientId` - (Required) The client id.

### Attributes Reference

See the docs for the `openid.Client` resource for details on the exported attributes.

type LookupClientResultOutput

type LookupClientResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getClient.

func (LookupClientResultOutput) AccessTokenLifespan

func (o LookupClientResultOutput) AccessTokenLifespan() pulumi.StringOutput

func (LookupClientResultOutput) AccessType

func (LookupClientResultOutput) AdminUrl

func (LookupClientResultOutput) AuthenticationFlowBindingOverrides

func (LookupClientResultOutput) Authorizations

func (LookupClientResultOutput) BackchannelLogoutRevokeOfflineSessions

func (o LookupClientResultOutput) BackchannelLogoutRevokeOfflineSessions() pulumi.BoolOutput

func (LookupClientResultOutput) BackchannelLogoutSessionRequired

func (o LookupClientResultOutput) BackchannelLogoutSessionRequired() pulumi.BoolOutput

func (LookupClientResultOutput) BackchannelLogoutUrl

func (o LookupClientResultOutput) BackchannelLogoutUrl() pulumi.StringOutput

func (LookupClientResultOutput) BaseUrl

func (LookupClientResultOutput) ClientAuthenticatorType

func (o LookupClientResultOutput) ClientAuthenticatorType() pulumi.StringOutput

func (LookupClientResultOutput) ClientId

func (LookupClientResultOutput) ClientOfflineSessionIdleTimeout

func (o LookupClientResultOutput) ClientOfflineSessionIdleTimeout() pulumi.StringOutput

func (LookupClientResultOutput) ClientOfflineSessionMaxLifespan

func (o LookupClientResultOutput) ClientOfflineSessionMaxLifespan() pulumi.StringOutput

func (LookupClientResultOutput) ClientSecret

func (o LookupClientResultOutput) ClientSecret() pulumi.StringOutput

func (LookupClientResultOutput) ClientSessionIdleTimeout

func (o LookupClientResultOutput) ClientSessionIdleTimeout() pulumi.StringOutput

func (LookupClientResultOutput) ClientSessionMaxLifespan

func (o LookupClientResultOutput) ClientSessionMaxLifespan() pulumi.StringOutput

func (LookupClientResultOutput) ConsentRequired

func (o LookupClientResultOutput) ConsentRequired() pulumi.BoolOutput

func (LookupClientResultOutput) ConsentScreenText

func (o LookupClientResultOutput) ConsentScreenText() pulumi.StringPtrOutput

func (LookupClientResultOutput) Description

func (LookupClientResultOutput) DirectAccessGrantsEnabled

func (o LookupClientResultOutput) DirectAccessGrantsEnabled() pulumi.BoolOutput

func (LookupClientResultOutput) DisplayOnConsentScreen

func (o LookupClientResultOutput) DisplayOnConsentScreen() pulumi.BoolPtrOutput

func (LookupClientResultOutput) ElementType

func (LookupClientResultOutput) ElementType() reflect.Type

func (LookupClientResultOutput) Enabled

func (LookupClientResultOutput) ExcludeSessionStateFromAuthResponse

func (o LookupClientResultOutput) ExcludeSessionStateFromAuthResponse() pulumi.BoolOutput

func (LookupClientResultOutput) ExtraConfig

func (o LookupClientResultOutput) ExtraConfig() pulumi.MapOutput

func (LookupClientResultOutput) FrontchannelLogoutEnabled

func (o LookupClientResultOutput) FrontchannelLogoutEnabled() pulumi.BoolOutput

func (LookupClientResultOutput) FrontchannelLogoutUrl

func (o LookupClientResultOutput) FrontchannelLogoutUrl() pulumi.StringOutput

func (LookupClientResultOutput) FullScopeAllowed

func (o LookupClientResultOutput) FullScopeAllowed() pulumi.BoolOutput

func (LookupClientResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupClientResultOutput) ImplicitFlowEnabled

func (o LookupClientResultOutput) ImplicitFlowEnabled() pulumi.BoolOutput

func (LookupClientResultOutput) LoginTheme

func (LookupClientResultOutput) Name

func (LookupClientResultOutput) Oauth2DeviceAuthorizationGrantEnabled

func (o LookupClientResultOutput) Oauth2DeviceAuthorizationGrantEnabled() pulumi.BoolPtrOutput

func (LookupClientResultOutput) Oauth2DeviceCodeLifespan

func (o LookupClientResultOutput) Oauth2DeviceCodeLifespan() pulumi.StringPtrOutput

func (LookupClientResultOutput) Oauth2DevicePollingInterval

func (o LookupClientResultOutput) Oauth2DevicePollingInterval() pulumi.StringPtrOutput

func (LookupClientResultOutput) PkceCodeChallengeMethod

func (o LookupClientResultOutput) PkceCodeChallengeMethod() pulumi.StringOutput

func (LookupClientResultOutput) RealmId

func (LookupClientResultOutput) ResourceServerId

func (o LookupClientResultOutput) ResourceServerId() pulumi.StringOutput

func (LookupClientResultOutput) RootUrl

func (LookupClientResultOutput) ServiceAccountUserId

func (o LookupClientResultOutput) ServiceAccountUserId() pulumi.StringOutput

func (LookupClientResultOutput) ServiceAccountsEnabled

func (o LookupClientResultOutput) ServiceAccountsEnabled() pulumi.BoolOutput

func (LookupClientResultOutput) StandardFlowEnabled

func (o LookupClientResultOutput) StandardFlowEnabled() pulumi.BoolOutput

func (LookupClientResultOutput) ToLookupClientResultOutput

func (o LookupClientResultOutput) ToLookupClientResultOutput() LookupClientResultOutput

func (LookupClientResultOutput) ToLookupClientResultOutputWithContext

func (o LookupClientResultOutput) ToLookupClientResultOutputWithContext(ctx context.Context) LookupClientResultOutput

func (LookupClientResultOutput) UseRefreshTokens

func (o LookupClientResultOutput) UseRefreshTokens() pulumi.BoolOutput

func (LookupClientResultOutput) UseRefreshTokensClientCredentials

func (o LookupClientResultOutput) UseRefreshTokensClientCredentials() pulumi.BoolOutput

func (LookupClientResultOutput) ValidPostLogoutRedirectUris

func (o LookupClientResultOutput) ValidPostLogoutRedirectUris() pulumi.StringArrayOutput

func (LookupClientResultOutput) ValidRedirectUris

func (o LookupClientResultOutput) ValidRedirectUris() pulumi.StringArrayOutput

func (LookupClientResultOutput) WebOrigins

type LookupClientScopeArgs

type LookupClientScopeArgs struct {
	// The name of the client scope.
	Name string `pulumi:"name"`
	// The realm id.
	RealmId string `pulumi:"realmId"`
}

A collection of arguments for invoking getClientScope.

type LookupClientScopeOutputArgs

type LookupClientScopeOutputArgs struct {
	// The name of the client scope.
	Name pulumi.StringInput `pulumi:"name"`
	// The realm id.
	RealmId pulumi.StringInput `pulumi:"realmId"`
}

A collection of arguments for invoking getClientScope.

func (LookupClientScopeOutputArgs) ElementType

type LookupClientScopeResult

type LookupClientScopeResult struct {
	ConsentScreenText string `pulumi:"consentScreenText"`
	Description       string `pulumi:"description"`
	GuiOrder          int    `pulumi:"guiOrder"`
	// The provider-assigned unique ID for this managed resource.
	Id                  string `pulumi:"id"`
	IncludeInTokenScope bool   `pulumi:"includeInTokenScope"`
	Name                string `pulumi:"name"`
	RealmId             string `pulumi:"realmId"`
}

A collection of values returned by getClientScope.

func LookupClientScope

func LookupClientScope(ctx *pulumi.Context, args *LookupClientScopeArgs, opts ...pulumi.InvokeOption) (*LookupClientScopeResult, error)

This data source can be used to fetch properties of a Keycloak OpenID client scope for usage with other resources.

## Example Usage

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak/openid"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		offlineAccess, err := openid.LookupClientScope(ctx, &openid.LookupClientScopeArgs{
			RealmId: "my-realm",
			Name:    "offline_access",
		}, nil)
		if err != nil {
			return err
		}
		// use the data source
		_, err = openid.NewAudienceProtocolMapper(ctx, "audienceMapper", &openid.AudienceProtocolMapperArgs{
			RealmId:                *pulumi.String(offlineAccess.RealmId),
			ClientScopeId:          *pulumi.String(offlineAccess.Id),
			IncludedCustomAudience: pulumi.String("foo"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

type LookupClientScopeResultOutput

type LookupClientScopeResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getClientScope.

func (LookupClientScopeResultOutput) ConsentScreenText

func (o LookupClientScopeResultOutput) ConsentScreenText() pulumi.StringOutput

func (LookupClientScopeResultOutput) Description

func (LookupClientScopeResultOutput) ElementType

func (LookupClientScopeResultOutput) GuiOrder

func (LookupClientScopeResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupClientScopeResultOutput) IncludeInTokenScope

func (o LookupClientScopeResultOutput) IncludeInTokenScope() pulumi.BoolOutput

func (LookupClientScopeResultOutput) Name

func (LookupClientScopeResultOutput) RealmId

func (LookupClientScopeResultOutput) ToLookupClientScopeResultOutput

func (o LookupClientScopeResultOutput) ToLookupClientScopeResultOutput() LookupClientScopeResultOutput

func (LookupClientScopeResultOutput) ToLookupClientScopeResultOutputWithContext

func (o LookupClientScopeResultOutput) ToLookupClientScopeResultOutputWithContext(ctx context.Context) LookupClientScopeResultOutput

type ScriptProtocolMapper

type ScriptProtocolMapper struct {
	pulumi.CustomResourceState

	// Indicates if the property should be added as a claim to the access token. Defaults to `true`.
	AddToAccessToken pulumi.BoolPtrOutput `pulumi:"addToAccessToken"`
	// Indicates if the property should be added as a claim to the id token. Defaults to `true`.
	AddToIdToken pulumi.BoolPtrOutput `pulumi:"addToIdToken"`
	// Indicates if the property should be added as a claim to the UserInfo response body. Defaults to `true`.
	AddToUserinfo pulumi.BoolPtrOutput `pulumi:"addToUserinfo"`
	// The name of the claim to insert into a token.
	ClaimName pulumi.StringOutput `pulumi:"claimName"`
	// The claim type used when serializing JSON tokens. Can be one of `String`, `JSON`, `long`, `int`, or `boolean`. Defaults to `String`.
	ClaimValueType pulumi.StringPtrOutput `pulumi:"claimValueType"`
	// The client this protocol mapper should be attached to. Conflicts with `clientScopeId`. One of `clientId` or `clientScopeId` must be specified.
	ClientId pulumi.StringPtrOutput `pulumi:"clientId"`
	// The client scope this protocol mapper should be attached to. Conflicts with `clientId`. One of `clientId` or `clientScopeId` must be specified.
	ClientScopeId pulumi.StringPtrOutput `pulumi:"clientScopeId"`
	// Indicates if attribute supports multiple values. If true, then the list of all values of this attribute will be set as claim. If false, then just first value will be set as claim. Defaults to `false`.
	Multivalued pulumi.BoolPtrOutput `pulumi:"multivalued"`
	// The display name of this protocol mapper in the GUI.
	Name pulumi.StringOutput `pulumi:"name"`
	// The realm this protocol mapper exists within.
	RealmId pulumi.StringOutput `pulumi:"realmId"`
	// JavaScript code to compute the claim value.
	Script pulumi.StringOutput `pulumi:"script"`
}

Allows for creating and managing script protocol mappers within Keycloak.

Script protocol mappers evaluate a JavaScript function to produce a token claim based on context information.

Protocol mappers can be defined for a single client, or they can be defined for a client scope which can be shared between multiple different clients.

> Support for this protocol mapper was removed in Keycloak 18.

## Example Usage

### Client)

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak"
"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak/openid"
"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
		}
		openidClient, err := openid.NewClient(ctx, "openidClient", &openid.ClientArgs{
			RealmId:    realm.ID(),
			ClientId:   pulumi.String("client"),
			Enabled:    pulumi.Bool(true),
			AccessType: pulumi.String("CONFIDENTIAL"),
			ValidRedirectUris: pulumi.StringArray{
				pulumi.String("http://localhost:8080/openid-callback"),
			},
		})
		if err != nil {
			return err
		}
		_, err = openid.NewScriptProtocolMapper(ctx, "scriptMapper", &openid.ScriptProtocolMapperArgs{
			RealmId:   realm.ID(),
			ClientId:  openidClient.ID(),
			ClaimName: pulumi.String("foo"),
			Script:    pulumi.String("exports = 'foo';"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

### Client Scope)

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak"
"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak/openid"
"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
		}
		clientScope, err := openid.NewClientScope(ctx, "clientScope", &openid.ClientScopeArgs{
			RealmId: realm.ID(),
		})
		if err != nil {
			return err
		}
		_, err = openid.NewScriptProtocolMapper(ctx, "scriptMapper", &openid.ScriptProtocolMapperArgs{
			RealmId:       realm.ID(),
			ClientScopeId: clientScope.ID(),
			ClaimName:     pulumi.String("foo"),
			Script:        pulumi.String("exports = 'foo';"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

Protocol mappers can be imported using one of the following formats:

- Client: `{{realm_id}}/client/{{client_keycloak_id}}/{{protocol_mapper_id}}`

- Client Scope: `{{realm_id}}/client-scope/{{client_scope_keycloak_id}}/{{protocol_mapper_id}}`

Example:

bash

```sh $ pulumi import keycloak:openid/scriptProtocolMapper:ScriptProtocolMapper script_mapper my-realm/client/a7202154-8793-4656-b655-1dd18c181e14/71602afa-f7d1-4788-8c49-ef8fd00af0f4 ```

```sh $ pulumi import keycloak:openid/scriptProtocolMapper:ScriptProtocolMapper script_mapper my-realm/client-scope/b799ea7e-73ee-4a73-990a-1eafebe8e20a/71602afa-f7d1-4788-8c49-ef8fd00af0f4 ```

func GetScriptProtocolMapper

func GetScriptProtocolMapper(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ScriptProtocolMapperState, opts ...pulumi.ResourceOption) (*ScriptProtocolMapper, error)

GetScriptProtocolMapper gets an existing ScriptProtocolMapper 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 NewScriptProtocolMapper

func NewScriptProtocolMapper(ctx *pulumi.Context,
	name string, args *ScriptProtocolMapperArgs, opts ...pulumi.ResourceOption) (*ScriptProtocolMapper, error)

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

func (*ScriptProtocolMapper) ElementType

func (*ScriptProtocolMapper) ElementType() reflect.Type

func (*ScriptProtocolMapper) ToScriptProtocolMapperOutput

func (i *ScriptProtocolMapper) ToScriptProtocolMapperOutput() ScriptProtocolMapperOutput

func (*ScriptProtocolMapper) ToScriptProtocolMapperOutputWithContext

func (i *ScriptProtocolMapper) ToScriptProtocolMapperOutputWithContext(ctx context.Context) ScriptProtocolMapperOutput

type ScriptProtocolMapperArgs

type ScriptProtocolMapperArgs struct {
	// Indicates if the property should be added as a claim to the access token. Defaults to `true`.
	AddToAccessToken pulumi.BoolPtrInput
	// Indicates if the property should be added as a claim to the id token. Defaults to `true`.
	AddToIdToken pulumi.BoolPtrInput
	// Indicates if the property should be added as a claim to the UserInfo response body. Defaults to `true`.
	AddToUserinfo pulumi.BoolPtrInput
	// The name of the claim to insert into a token.
	ClaimName pulumi.StringInput
	// The claim type used when serializing JSON tokens. Can be one of `String`, `JSON`, `long`, `int`, or `boolean`. Defaults to `String`.
	ClaimValueType pulumi.StringPtrInput
	// The client this protocol mapper should be attached to. Conflicts with `clientScopeId`. One of `clientId` or `clientScopeId` must be specified.
	ClientId pulumi.StringPtrInput
	// The client scope this protocol mapper should be attached to. Conflicts with `clientId`. One of `clientId` or `clientScopeId` must be specified.
	ClientScopeId pulumi.StringPtrInput
	// Indicates if attribute supports multiple values. If true, then the list of all values of this attribute will be set as claim. If false, then just first value will be set as claim. Defaults to `false`.
	Multivalued pulumi.BoolPtrInput
	// The display name of this protocol mapper in the GUI.
	Name pulumi.StringPtrInput
	// The realm this protocol mapper exists within.
	RealmId pulumi.StringInput
	// JavaScript code to compute the claim value.
	Script pulumi.StringInput
}

The set of arguments for constructing a ScriptProtocolMapper resource.

func (ScriptProtocolMapperArgs) ElementType

func (ScriptProtocolMapperArgs) ElementType() reflect.Type

type ScriptProtocolMapperArray

type ScriptProtocolMapperArray []ScriptProtocolMapperInput

func (ScriptProtocolMapperArray) ElementType

func (ScriptProtocolMapperArray) ElementType() reflect.Type

func (ScriptProtocolMapperArray) ToScriptProtocolMapperArrayOutput

func (i ScriptProtocolMapperArray) ToScriptProtocolMapperArrayOutput() ScriptProtocolMapperArrayOutput

func (ScriptProtocolMapperArray) ToScriptProtocolMapperArrayOutputWithContext

func (i ScriptProtocolMapperArray) ToScriptProtocolMapperArrayOutputWithContext(ctx context.Context) ScriptProtocolMapperArrayOutput

type ScriptProtocolMapperArrayInput

type ScriptProtocolMapperArrayInput interface {
	pulumi.Input

	ToScriptProtocolMapperArrayOutput() ScriptProtocolMapperArrayOutput
	ToScriptProtocolMapperArrayOutputWithContext(context.Context) ScriptProtocolMapperArrayOutput
}

ScriptProtocolMapperArrayInput is an input type that accepts ScriptProtocolMapperArray and ScriptProtocolMapperArrayOutput values. You can construct a concrete instance of `ScriptProtocolMapperArrayInput` via:

ScriptProtocolMapperArray{ ScriptProtocolMapperArgs{...} }

type ScriptProtocolMapperArrayOutput

type ScriptProtocolMapperArrayOutput struct{ *pulumi.OutputState }

func (ScriptProtocolMapperArrayOutput) ElementType

func (ScriptProtocolMapperArrayOutput) Index

func (ScriptProtocolMapperArrayOutput) ToScriptProtocolMapperArrayOutput

func (o ScriptProtocolMapperArrayOutput) ToScriptProtocolMapperArrayOutput() ScriptProtocolMapperArrayOutput

func (ScriptProtocolMapperArrayOutput) ToScriptProtocolMapperArrayOutputWithContext

func (o ScriptProtocolMapperArrayOutput) ToScriptProtocolMapperArrayOutputWithContext(ctx context.Context) ScriptProtocolMapperArrayOutput

type ScriptProtocolMapperInput

type ScriptProtocolMapperInput interface {
	pulumi.Input

	ToScriptProtocolMapperOutput() ScriptProtocolMapperOutput
	ToScriptProtocolMapperOutputWithContext(ctx context.Context) ScriptProtocolMapperOutput
}

type ScriptProtocolMapperMap

type ScriptProtocolMapperMap map[string]ScriptProtocolMapperInput

func (ScriptProtocolMapperMap) ElementType

func (ScriptProtocolMapperMap) ElementType() reflect.Type

func (ScriptProtocolMapperMap) ToScriptProtocolMapperMapOutput

func (i ScriptProtocolMapperMap) ToScriptProtocolMapperMapOutput() ScriptProtocolMapperMapOutput

func (ScriptProtocolMapperMap) ToScriptProtocolMapperMapOutputWithContext

func (i ScriptProtocolMapperMap) ToScriptProtocolMapperMapOutputWithContext(ctx context.Context) ScriptProtocolMapperMapOutput

type ScriptProtocolMapperMapInput

type ScriptProtocolMapperMapInput interface {
	pulumi.Input

	ToScriptProtocolMapperMapOutput() ScriptProtocolMapperMapOutput
	ToScriptProtocolMapperMapOutputWithContext(context.Context) ScriptProtocolMapperMapOutput
}

ScriptProtocolMapperMapInput is an input type that accepts ScriptProtocolMapperMap and ScriptProtocolMapperMapOutput values. You can construct a concrete instance of `ScriptProtocolMapperMapInput` via:

ScriptProtocolMapperMap{ "key": ScriptProtocolMapperArgs{...} }

type ScriptProtocolMapperMapOutput

type ScriptProtocolMapperMapOutput struct{ *pulumi.OutputState }

func (ScriptProtocolMapperMapOutput) ElementType

func (ScriptProtocolMapperMapOutput) MapIndex

func (ScriptProtocolMapperMapOutput) ToScriptProtocolMapperMapOutput

func (o ScriptProtocolMapperMapOutput) ToScriptProtocolMapperMapOutput() ScriptProtocolMapperMapOutput

func (ScriptProtocolMapperMapOutput) ToScriptProtocolMapperMapOutputWithContext

func (o ScriptProtocolMapperMapOutput) ToScriptProtocolMapperMapOutputWithContext(ctx context.Context) ScriptProtocolMapperMapOutput

type ScriptProtocolMapperOutput

type ScriptProtocolMapperOutput struct{ *pulumi.OutputState }

func (ScriptProtocolMapperOutput) AddToAccessToken

func (o ScriptProtocolMapperOutput) AddToAccessToken() pulumi.BoolPtrOutput

Indicates if the property should be added as a claim to the access token. Defaults to `true`.

func (ScriptProtocolMapperOutput) AddToIdToken

Indicates if the property should be added as a claim to the id token. Defaults to `true`.

func (ScriptProtocolMapperOutput) AddToUserinfo

Indicates if the property should be added as a claim to the UserInfo response body. Defaults to `true`.

func (ScriptProtocolMapperOutput) ClaimName

The name of the claim to insert into a token.

func (ScriptProtocolMapperOutput) ClaimValueType

The claim type used when serializing JSON tokens. Can be one of `String`, `JSON`, `long`, `int`, or `boolean`. Defaults to `String`.

func (ScriptProtocolMapperOutput) ClientId

The client this protocol mapper should be attached to. Conflicts with `clientScopeId`. One of `clientId` or `clientScopeId` must be specified.

func (ScriptProtocolMapperOutput) ClientScopeId

The client scope this protocol mapper should be attached to. Conflicts with `clientId`. One of `clientId` or `clientScopeId` must be specified.

func (ScriptProtocolMapperOutput) ElementType

func (ScriptProtocolMapperOutput) ElementType() reflect.Type

func (ScriptProtocolMapperOutput) Multivalued

Indicates if attribute supports multiple values. If true, then the list of all values of this attribute will be set as claim. If false, then just first value will be set as claim. Defaults to `false`.

func (ScriptProtocolMapperOutput) Name

The display name of this protocol mapper in the GUI.

func (ScriptProtocolMapperOutput) RealmId

The realm this protocol mapper exists within.

func (ScriptProtocolMapperOutput) Script

JavaScript code to compute the claim value.

func (ScriptProtocolMapperOutput) ToScriptProtocolMapperOutput

func (o ScriptProtocolMapperOutput) ToScriptProtocolMapperOutput() ScriptProtocolMapperOutput

func (ScriptProtocolMapperOutput) ToScriptProtocolMapperOutputWithContext

func (o ScriptProtocolMapperOutput) ToScriptProtocolMapperOutputWithContext(ctx context.Context) ScriptProtocolMapperOutput

type ScriptProtocolMapperState

type ScriptProtocolMapperState struct {
	// Indicates if the property should be added as a claim to the access token. Defaults to `true`.
	AddToAccessToken pulumi.BoolPtrInput
	// Indicates if the property should be added as a claim to the id token. Defaults to `true`.
	AddToIdToken pulumi.BoolPtrInput
	// Indicates if the property should be added as a claim to the UserInfo response body. Defaults to `true`.
	AddToUserinfo pulumi.BoolPtrInput
	// The name of the claim to insert into a token.
	ClaimName pulumi.StringPtrInput
	// The claim type used when serializing JSON tokens. Can be one of `String`, `JSON`, `long`, `int`, or `boolean`. Defaults to `String`.
	ClaimValueType pulumi.StringPtrInput
	// The client this protocol mapper should be attached to. Conflicts with `clientScopeId`. One of `clientId` or `clientScopeId` must be specified.
	ClientId pulumi.StringPtrInput
	// The client scope this protocol mapper should be attached to. Conflicts with `clientId`. One of `clientId` or `clientScopeId` must be specified.
	ClientScopeId pulumi.StringPtrInput
	// Indicates if attribute supports multiple values. If true, then the list of all values of this attribute will be set as claim. If false, then just first value will be set as claim. Defaults to `false`.
	Multivalued pulumi.BoolPtrInput
	// The display name of this protocol mapper in the GUI.
	Name pulumi.StringPtrInput
	// The realm this protocol mapper exists within.
	RealmId pulumi.StringPtrInput
	// JavaScript code to compute the claim value.
	Script pulumi.StringPtrInput
}

func (ScriptProtocolMapperState) ElementType

func (ScriptProtocolMapperState) ElementType() reflect.Type

type UserAttributeProtocolMapper

type UserAttributeProtocolMapper struct {
	pulumi.CustomResourceState

	// Indicates if the attribute should be a claim in the access token.
	AddToAccessToken pulumi.BoolPtrOutput `pulumi:"addToAccessToken"`
	// Indicates if the attribute should be a claim in the id token.
	AddToIdToken pulumi.BoolPtrOutput `pulumi:"addToIdToken"`
	// Indicates if the attribute should appear in the userinfo response body.
	AddToUserinfo pulumi.BoolPtrOutput `pulumi:"addToUserinfo"`
	// Indicates if attribute values should be aggregated within the group attributes
	AggregateAttributes pulumi.BoolPtrOutput `pulumi:"aggregateAttributes"`
	ClaimName           pulumi.StringOutput  `pulumi:"claimName"`
	// Claim type used when serializing tokens.
	ClaimValueType pulumi.StringPtrOutput `pulumi:"claimValueType"`
	// The mapper's associated client. Cannot be used at the same time as client_scope_id.
	ClientId pulumi.StringPtrOutput `pulumi:"clientId"`
	// The mapper's associated client scope. Cannot be used at the same time as client_id.
	ClientScopeId pulumi.StringPtrOutput `pulumi:"clientScopeId"`
	// Indicates whether this attribute is a single value or an array of values.
	Multivalued pulumi.BoolPtrOutput `pulumi:"multivalued"`
	// A human-friendly name that will appear in the Keycloak console.
	Name pulumi.StringOutput `pulumi:"name"`
	// The realm id where the associated client or client scope exists.
	RealmId       pulumi.StringOutput `pulumi:"realmId"`
	UserAttribute pulumi.StringOutput `pulumi:"userAttribute"`
}

## # openid.UserAttributeProtocolMapper

Allows for creating and managing user attribute protocol mappers within Keycloak.

User attribute protocol mappers allow you to map custom attributes defined for a user within Keycloak to a claim in a token. Protocol mappers can be defined for a single client, or they can be defined for a client scope which can be shared between multiple different clients.

### Example Usage (Client)

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak"
"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak/openid"
"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{
			Enabled: pulumi.Bool(true),
			Realm:   pulumi.String("my-realm"),
		})
		if err != nil {
			return err
		}
		openidClient, err := openid.NewClient(ctx, "openidClient", &openid.ClientArgs{
			AccessType: pulumi.String("CONFIDENTIAL"),
			ClientId:   pulumi.String("test-client"),
			Enabled:    pulumi.Bool(true),
			RealmId:    realm.ID(),
			ValidRedirectUris: pulumi.StringArray{
				pulumi.String("http://localhost:8080/openid-callback"),
			},
		})
		if err != nil {
			return err
		}
		_, err = openid.NewUserAttributeProtocolMapper(ctx, "userAttributeMapper", &openid.UserAttributeProtocolMapperArgs{
			ClaimName:     pulumi.String("bar"),
			ClientId:      openidClient.ID(),
			RealmId:       realm.ID(),
			UserAttribute: pulumi.String("foo"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

### Example Usage (Client Scope)

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak"
"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak/openid"
"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{
			Enabled: pulumi.Bool(true),
			Realm:   pulumi.String("my-realm"),
		})
		if err != nil {
			return err
		}
		clientScope, err := openid.NewClientScope(ctx, "clientScope", &openid.ClientScopeArgs{
			RealmId: realm.ID(),
		})
		if err != nil {
			return err
		}
		_, err = openid.NewUserAttributeProtocolMapper(ctx, "userAttributeMapper", &openid.UserAttributeProtocolMapperArgs{
			ClaimName:     pulumi.String("bar"),
			ClientScopeId: clientScope.ID(),
			RealmId:       realm.ID(),
			UserAttribute: pulumi.String("foo"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

### Argument Reference

The following arguments are supported:

- `realmId` - (Required) The realm this protocol mapper exists within. - `clientId` - (Required if `clientScopeId` is not specified) The client this protocol mapper is attached to. - `clientScopeId` - (Required if `clientId` is not specified) The client scope this protocol mapper is attached to. - `name` - (Required) The display name of this protocol mapper in the GUI. - `userAttribute` - (Required) The custom user attribute to map a claim for. - `claimName` - (Required) The name of the claim to insert into a token. - `claimValueType` - (Optional) The claim type used when serializing JSON tokens. Can be one of `String`, `long`, `int`, or `boolean`. Defaults to `String`. - `multivalued` - (Optional) Indicates whether this attribute is a single value or an array of values. Defaults to `false`. - `addToIdToken` - (Optional) Indicates if the attribute should be added as a claim to the id token. Defaults to `true`. - `addToAccessToken` - (Optional) Indicates if the attribute should be added as a claim to the access token. Defaults to `true`. - `addToUserinfo` - (Optional) Indicates if the attribute should be added as a claim to the UserInfo response body. Defaults to `true`.

### Import

Protocol mappers can be imported using one of the following formats: - Client: `{{realm_id}}/client/{{client_keycloak_id}}/{{protocol_mapper_id}}` - Client Scope: `{{realm_id}}/client-scope/{{client_scope_keycloak_id}}/{{protocol_mapper_id}}`

Example:

func GetUserAttributeProtocolMapper

func GetUserAttributeProtocolMapper(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *UserAttributeProtocolMapperState, opts ...pulumi.ResourceOption) (*UserAttributeProtocolMapper, error)

GetUserAttributeProtocolMapper gets an existing UserAttributeProtocolMapper 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 NewUserAttributeProtocolMapper

func NewUserAttributeProtocolMapper(ctx *pulumi.Context,
	name string, args *UserAttributeProtocolMapperArgs, opts ...pulumi.ResourceOption) (*UserAttributeProtocolMapper, error)

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

func (*UserAttributeProtocolMapper) ElementType

func (*UserAttributeProtocolMapper) ElementType() reflect.Type

func (*UserAttributeProtocolMapper) ToUserAttributeProtocolMapperOutput

func (i *UserAttributeProtocolMapper) ToUserAttributeProtocolMapperOutput() UserAttributeProtocolMapperOutput

func (*UserAttributeProtocolMapper) ToUserAttributeProtocolMapperOutputWithContext

func (i *UserAttributeProtocolMapper) ToUserAttributeProtocolMapperOutputWithContext(ctx context.Context) UserAttributeProtocolMapperOutput

type UserAttributeProtocolMapperArgs

type UserAttributeProtocolMapperArgs struct {
	// Indicates if the attribute should be a claim in the access token.
	AddToAccessToken pulumi.BoolPtrInput
	// Indicates if the attribute should be a claim in the id token.
	AddToIdToken pulumi.BoolPtrInput
	// Indicates if the attribute should appear in the userinfo response body.
	AddToUserinfo pulumi.BoolPtrInput
	// Indicates if attribute values should be aggregated within the group attributes
	AggregateAttributes pulumi.BoolPtrInput
	ClaimName           pulumi.StringInput
	// Claim type used when serializing tokens.
	ClaimValueType pulumi.StringPtrInput
	// The mapper's associated client. Cannot be used at the same time as client_scope_id.
	ClientId pulumi.StringPtrInput
	// The mapper's associated client scope. Cannot be used at the same time as client_id.
	ClientScopeId pulumi.StringPtrInput
	// Indicates whether this attribute is a single value or an array of values.
	Multivalued pulumi.BoolPtrInput
	// A human-friendly name that will appear in the Keycloak console.
	Name pulumi.StringPtrInput
	// The realm id where the associated client or client scope exists.
	RealmId       pulumi.StringInput
	UserAttribute pulumi.StringInput
}

The set of arguments for constructing a UserAttributeProtocolMapper resource.

func (UserAttributeProtocolMapperArgs) ElementType

type UserAttributeProtocolMapperArray

type UserAttributeProtocolMapperArray []UserAttributeProtocolMapperInput

func (UserAttributeProtocolMapperArray) ElementType

func (UserAttributeProtocolMapperArray) ToUserAttributeProtocolMapperArrayOutput

func (i UserAttributeProtocolMapperArray) ToUserAttributeProtocolMapperArrayOutput() UserAttributeProtocolMapperArrayOutput

func (UserAttributeProtocolMapperArray) ToUserAttributeProtocolMapperArrayOutputWithContext

func (i UserAttributeProtocolMapperArray) ToUserAttributeProtocolMapperArrayOutputWithContext(ctx context.Context) UserAttributeProtocolMapperArrayOutput

type UserAttributeProtocolMapperArrayInput

type UserAttributeProtocolMapperArrayInput interface {
	pulumi.Input

	ToUserAttributeProtocolMapperArrayOutput() UserAttributeProtocolMapperArrayOutput
	ToUserAttributeProtocolMapperArrayOutputWithContext(context.Context) UserAttributeProtocolMapperArrayOutput
}

UserAttributeProtocolMapperArrayInput is an input type that accepts UserAttributeProtocolMapperArray and UserAttributeProtocolMapperArrayOutput values. You can construct a concrete instance of `UserAttributeProtocolMapperArrayInput` via:

UserAttributeProtocolMapperArray{ UserAttributeProtocolMapperArgs{...} }

type UserAttributeProtocolMapperArrayOutput

type UserAttributeProtocolMapperArrayOutput struct{ *pulumi.OutputState }

func (UserAttributeProtocolMapperArrayOutput) ElementType

func (UserAttributeProtocolMapperArrayOutput) Index

func (UserAttributeProtocolMapperArrayOutput) ToUserAttributeProtocolMapperArrayOutput

func (o UserAttributeProtocolMapperArrayOutput) ToUserAttributeProtocolMapperArrayOutput() UserAttributeProtocolMapperArrayOutput

func (UserAttributeProtocolMapperArrayOutput) ToUserAttributeProtocolMapperArrayOutputWithContext

func (o UserAttributeProtocolMapperArrayOutput) ToUserAttributeProtocolMapperArrayOutputWithContext(ctx context.Context) UserAttributeProtocolMapperArrayOutput

type UserAttributeProtocolMapperInput

type UserAttributeProtocolMapperInput interface {
	pulumi.Input

	ToUserAttributeProtocolMapperOutput() UserAttributeProtocolMapperOutput
	ToUserAttributeProtocolMapperOutputWithContext(ctx context.Context) UserAttributeProtocolMapperOutput
}

type UserAttributeProtocolMapperMap

type UserAttributeProtocolMapperMap map[string]UserAttributeProtocolMapperInput

func (UserAttributeProtocolMapperMap) ElementType

func (UserAttributeProtocolMapperMap) ToUserAttributeProtocolMapperMapOutput

func (i UserAttributeProtocolMapperMap) ToUserAttributeProtocolMapperMapOutput() UserAttributeProtocolMapperMapOutput

func (UserAttributeProtocolMapperMap) ToUserAttributeProtocolMapperMapOutputWithContext

func (i UserAttributeProtocolMapperMap) ToUserAttributeProtocolMapperMapOutputWithContext(ctx context.Context) UserAttributeProtocolMapperMapOutput

type UserAttributeProtocolMapperMapInput

type UserAttributeProtocolMapperMapInput interface {
	pulumi.Input

	ToUserAttributeProtocolMapperMapOutput() UserAttributeProtocolMapperMapOutput
	ToUserAttributeProtocolMapperMapOutputWithContext(context.Context) UserAttributeProtocolMapperMapOutput
}

UserAttributeProtocolMapperMapInput is an input type that accepts UserAttributeProtocolMapperMap and UserAttributeProtocolMapperMapOutput values. You can construct a concrete instance of `UserAttributeProtocolMapperMapInput` via:

UserAttributeProtocolMapperMap{ "key": UserAttributeProtocolMapperArgs{...} }

type UserAttributeProtocolMapperMapOutput

type UserAttributeProtocolMapperMapOutput struct{ *pulumi.OutputState }

func (UserAttributeProtocolMapperMapOutput) ElementType

func (UserAttributeProtocolMapperMapOutput) MapIndex

func (UserAttributeProtocolMapperMapOutput) ToUserAttributeProtocolMapperMapOutput

func (o UserAttributeProtocolMapperMapOutput) ToUserAttributeProtocolMapperMapOutput() UserAttributeProtocolMapperMapOutput

func (UserAttributeProtocolMapperMapOutput) ToUserAttributeProtocolMapperMapOutputWithContext

func (o UserAttributeProtocolMapperMapOutput) ToUserAttributeProtocolMapperMapOutputWithContext(ctx context.Context) UserAttributeProtocolMapperMapOutput

type UserAttributeProtocolMapperOutput

type UserAttributeProtocolMapperOutput struct{ *pulumi.OutputState }

func (UserAttributeProtocolMapperOutput) AddToAccessToken

Indicates if the attribute should be a claim in the access token.

func (UserAttributeProtocolMapperOutput) AddToIdToken

Indicates if the attribute should be a claim in the id token.

func (UserAttributeProtocolMapperOutput) AddToUserinfo

Indicates if the attribute should appear in the userinfo response body.

func (UserAttributeProtocolMapperOutput) AggregateAttributes

func (o UserAttributeProtocolMapperOutput) AggregateAttributes() pulumi.BoolPtrOutput

Indicates if attribute values should be aggregated within the group attributes

func (UserAttributeProtocolMapperOutput) ClaimName

func (UserAttributeProtocolMapperOutput) ClaimValueType

Claim type used when serializing tokens.

func (UserAttributeProtocolMapperOutput) ClientId

The mapper's associated client. Cannot be used at the same time as client_scope_id.

func (UserAttributeProtocolMapperOutput) ClientScopeId

The mapper's associated client scope. Cannot be used at the same time as client_id.

func (UserAttributeProtocolMapperOutput) ElementType

func (UserAttributeProtocolMapperOutput) Multivalued

Indicates whether this attribute is a single value or an array of values.

func (UserAttributeProtocolMapperOutput) Name

A human-friendly name that will appear in the Keycloak console.

func (UserAttributeProtocolMapperOutput) RealmId

The realm id where the associated client or client scope exists.

func (UserAttributeProtocolMapperOutput) ToUserAttributeProtocolMapperOutput

func (o UserAttributeProtocolMapperOutput) ToUserAttributeProtocolMapperOutput() UserAttributeProtocolMapperOutput

func (UserAttributeProtocolMapperOutput) ToUserAttributeProtocolMapperOutputWithContext

func (o UserAttributeProtocolMapperOutput) ToUserAttributeProtocolMapperOutputWithContext(ctx context.Context) UserAttributeProtocolMapperOutput

func (UserAttributeProtocolMapperOutput) UserAttribute

type UserAttributeProtocolMapperState

type UserAttributeProtocolMapperState struct {
	// Indicates if the attribute should be a claim in the access token.
	AddToAccessToken pulumi.BoolPtrInput
	// Indicates if the attribute should be a claim in the id token.
	AddToIdToken pulumi.BoolPtrInput
	// Indicates if the attribute should appear in the userinfo response body.
	AddToUserinfo pulumi.BoolPtrInput
	// Indicates if attribute values should be aggregated within the group attributes
	AggregateAttributes pulumi.BoolPtrInput
	ClaimName           pulumi.StringPtrInput
	// Claim type used when serializing tokens.
	ClaimValueType pulumi.StringPtrInput
	// The mapper's associated client. Cannot be used at the same time as client_scope_id.
	ClientId pulumi.StringPtrInput
	// The mapper's associated client scope. Cannot be used at the same time as client_id.
	ClientScopeId pulumi.StringPtrInput
	// Indicates whether this attribute is a single value or an array of values.
	Multivalued pulumi.BoolPtrInput
	// A human-friendly name that will appear in the Keycloak console.
	Name pulumi.StringPtrInput
	// The realm id where the associated client or client scope exists.
	RealmId       pulumi.StringPtrInput
	UserAttribute pulumi.StringPtrInput
}

func (UserAttributeProtocolMapperState) ElementType

type UserClientRoleProtocolMapper

type UserClientRoleProtocolMapper struct {
	pulumi.CustomResourceState

	// Indicates if the property should be added as a claim to the access token. Defaults to `true`.
	AddToAccessToken pulumi.BoolPtrOutput `pulumi:"addToAccessToken"`
	// Indicates if the property should be added as a claim to the id token. Defaults to `true`.
	AddToIdToken pulumi.BoolPtrOutput `pulumi:"addToIdToken"`
	// Indicates if the property should be added as a claim to the UserInfo response body. Defaults to `true`.
	AddToUserinfo pulumi.BoolPtrOutput `pulumi:"addToUserinfo"`
	// The name of the claim to insert into a token.
	ClaimName pulumi.StringOutput `pulumi:"claimName"`
	// The claim type used when serializing JSON tokens. Can be one of `String`, `JSON`, `long`, `int`, or `boolean`. Defaults to `String`.
	ClaimValueType pulumi.StringPtrOutput `pulumi:"claimValueType"`
	// The client this protocol mapper should be attached to. Conflicts with `clientScopeId`. One of `clientId` or `clientScopeId` must be specified.
	ClientId pulumi.StringPtrOutput `pulumi:"clientId"`
	// The Client ID for role mappings. Just client roles of this client will be added to the token. If this is unset, client roles of all clients will be added to the token.
	ClientIdForRoleMappings pulumi.StringPtrOutput `pulumi:"clientIdForRoleMappings"`
	// A prefix for each Client Role.
	ClientRolePrefix pulumi.StringPtrOutput `pulumi:"clientRolePrefix"`
	// The client scope this protocol mapper should be attached to. Conflicts with `clientId`. One of `clientId` or `clientScopeId` must be specified.
	ClientScopeId pulumi.StringPtrOutput `pulumi:"clientScopeId"`
	// Indicates if attribute supports multiple values. If true, then the list of all values of this attribute will be set as claim. If false, then just first value will be set as claim. Defaults to `false`.
	Multivalued pulumi.BoolPtrOutput `pulumi:"multivalued"`
	// The display name of this protocol mapper in the GUI.
	Name pulumi.StringOutput `pulumi:"name"`
	// The realm this protocol mapper exists within.
	RealmId pulumi.StringOutput `pulumi:"realmId"`
}

Allows for creating and managing user client role protocol mappers within Keycloak.

User client role protocol mappers allow you to define a claim containing the list of a client roles.

Protocol mappers can be defined for a single client, or they can be defined for a client scope which can be shared between multiple different clients.

## Example Usage

### Client)

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak"
"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak/openid"
"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
		}
		openidClient, err := openid.NewClient(ctx, "openidClient", &openid.ClientArgs{
			RealmId:    realm.ID(),
			ClientId:   pulumi.String("client"),
			Enabled:    pulumi.Bool(true),
			AccessType: pulumi.String("CONFIDENTIAL"),
			ValidRedirectUris: pulumi.StringArray{
				pulumi.String("http://localhost:8080/openid-callback"),
			},
		})
		if err != nil {
			return err
		}
		_, err = openid.NewUserClientRoleProtocolMapper(ctx, "userClientRoleMapper", &openid.UserClientRoleProtocolMapperArgs{
			RealmId:   realm.ID(),
			ClientId:  openidClient.ID(),
			ClaimName: pulumi.String("foo"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

### Client Scope)

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak"
"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak/openid"
"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
		}
		clientScope, err := openid.NewClientScope(ctx, "clientScope", &openid.ClientScopeArgs{
			RealmId: realm.ID(),
		})
		if err != nil {
			return err
		}
		_, err = openid.NewUserClientRoleProtocolMapper(ctx, "userClientRoleMapper", &openid.UserClientRoleProtocolMapperArgs{
			RealmId:       realm.ID(),
			ClientScopeId: clientScope.ID(),
			ClaimName:     pulumi.String("foo"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

Protocol mappers can be imported using one of the following formats:

- Client: `{{realm_id}}/client/{{client_keycloak_id}}/{{protocol_mapper_id}}`

- Client Scope: `{{realm_id}}/client-scope/{{client_scope_keycloak_id}}/{{protocol_mapper_id}}`

Example:

bash

```sh $ pulumi import keycloak:openid/userClientRoleProtocolMapper:UserClientRoleProtocolMapper user_client_role_mapper my-realm/client/a7202154-8793-4656-b655-1dd18c181e14/71602afa-f7d1-4788-8c49-ef8fd00af0f4 ```

```sh $ pulumi import keycloak:openid/userClientRoleProtocolMapper:UserClientRoleProtocolMapper user_client_role_mapper my-realm/client-scope/b799ea7e-73ee-4a73-990a-1eafebe8e20a/71602afa-f7d1-4788-8c49-ef8fd00af0f4 ```

func GetUserClientRoleProtocolMapper

func GetUserClientRoleProtocolMapper(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *UserClientRoleProtocolMapperState, opts ...pulumi.ResourceOption) (*UserClientRoleProtocolMapper, error)

GetUserClientRoleProtocolMapper gets an existing UserClientRoleProtocolMapper 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 NewUserClientRoleProtocolMapper

func NewUserClientRoleProtocolMapper(ctx *pulumi.Context,
	name string, args *UserClientRoleProtocolMapperArgs, opts ...pulumi.ResourceOption) (*UserClientRoleProtocolMapper, error)

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

func (*UserClientRoleProtocolMapper) ElementType

func (*UserClientRoleProtocolMapper) ElementType() reflect.Type

func (*UserClientRoleProtocolMapper) ToUserClientRoleProtocolMapperOutput

func (i *UserClientRoleProtocolMapper) ToUserClientRoleProtocolMapperOutput() UserClientRoleProtocolMapperOutput

func (*UserClientRoleProtocolMapper) ToUserClientRoleProtocolMapperOutputWithContext

func (i *UserClientRoleProtocolMapper) ToUserClientRoleProtocolMapperOutputWithContext(ctx context.Context) UserClientRoleProtocolMapperOutput

type UserClientRoleProtocolMapperArgs

type UserClientRoleProtocolMapperArgs struct {
	// Indicates if the property should be added as a claim to the access token. Defaults to `true`.
	AddToAccessToken pulumi.BoolPtrInput
	// Indicates if the property should be added as a claim to the id token. Defaults to `true`.
	AddToIdToken pulumi.BoolPtrInput
	// Indicates if the property should be added as a claim to the UserInfo response body. Defaults to `true`.
	AddToUserinfo pulumi.BoolPtrInput
	// The name of the claim to insert into a token.
	ClaimName pulumi.StringInput
	// The claim type used when serializing JSON tokens. Can be one of `String`, `JSON`, `long`, `int`, or `boolean`. Defaults to `String`.
	ClaimValueType pulumi.StringPtrInput
	// The client this protocol mapper should be attached to. Conflicts with `clientScopeId`. One of `clientId` or `clientScopeId` must be specified.
	ClientId pulumi.StringPtrInput
	// The Client ID for role mappings. Just client roles of this client will be added to the token. If this is unset, client roles of all clients will be added to the token.
	ClientIdForRoleMappings pulumi.StringPtrInput
	// A prefix for each Client Role.
	ClientRolePrefix pulumi.StringPtrInput
	// The client scope this protocol mapper should be attached to. Conflicts with `clientId`. One of `clientId` or `clientScopeId` must be specified.
	ClientScopeId pulumi.StringPtrInput
	// Indicates if attribute supports multiple values. If true, then the list of all values of this attribute will be set as claim. If false, then just first value will be set as claim. Defaults to `false`.
	Multivalued pulumi.BoolPtrInput
	// The display name of this protocol mapper in the GUI.
	Name pulumi.StringPtrInput
	// The realm this protocol mapper exists within.
	RealmId pulumi.StringInput
}

The set of arguments for constructing a UserClientRoleProtocolMapper resource.

func (UserClientRoleProtocolMapperArgs) ElementType

type UserClientRoleProtocolMapperArray

type UserClientRoleProtocolMapperArray []UserClientRoleProtocolMapperInput

func (UserClientRoleProtocolMapperArray) ElementType

func (UserClientRoleProtocolMapperArray) ToUserClientRoleProtocolMapperArrayOutput

func (i UserClientRoleProtocolMapperArray) ToUserClientRoleProtocolMapperArrayOutput() UserClientRoleProtocolMapperArrayOutput

func (UserClientRoleProtocolMapperArray) ToUserClientRoleProtocolMapperArrayOutputWithContext

func (i UserClientRoleProtocolMapperArray) ToUserClientRoleProtocolMapperArrayOutputWithContext(ctx context.Context) UserClientRoleProtocolMapperArrayOutput

type UserClientRoleProtocolMapperArrayInput

type UserClientRoleProtocolMapperArrayInput interface {
	pulumi.Input

	ToUserClientRoleProtocolMapperArrayOutput() UserClientRoleProtocolMapperArrayOutput
	ToUserClientRoleProtocolMapperArrayOutputWithContext(context.Context) UserClientRoleProtocolMapperArrayOutput
}

UserClientRoleProtocolMapperArrayInput is an input type that accepts UserClientRoleProtocolMapperArray and UserClientRoleProtocolMapperArrayOutput values. You can construct a concrete instance of `UserClientRoleProtocolMapperArrayInput` via:

UserClientRoleProtocolMapperArray{ UserClientRoleProtocolMapperArgs{...} }

type UserClientRoleProtocolMapperArrayOutput

type UserClientRoleProtocolMapperArrayOutput struct{ *pulumi.OutputState }

func (UserClientRoleProtocolMapperArrayOutput) ElementType

func (UserClientRoleProtocolMapperArrayOutput) Index

func (UserClientRoleProtocolMapperArrayOutput) ToUserClientRoleProtocolMapperArrayOutput

func (o UserClientRoleProtocolMapperArrayOutput) ToUserClientRoleProtocolMapperArrayOutput() UserClientRoleProtocolMapperArrayOutput

func (UserClientRoleProtocolMapperArrayOutput) ToUserClientRoleProtocolMapperArrayOutputWithContext

func (o UserClientRoleProtocolMapperArrayOutput) ToUserClientRoleProtocolMapperArrayOutputWithContext(ctx context.Context) UserClientRoleProtocolMapperArrayOutput

type UserClientRoleProtocolMapperInput

type UserClientRoleProtocolMapperInput interface {
	pulumi.Input

	ToUserClientRoleProtocolMapperOutput() UserClientRoleProtocolMapperOutput
	ToUserClientRoleProtocolMapperOutputWithContext(ctx context.Context) UserClientRoleProtocolMapperOutput
}

type UserClientRoleProtocolMapperMap

type UserClientRoleProtocolMapperMap map[string]UserClientRoleProtocolMapperInput

func (UserClientRoleProtocolMapperMap) ElementType

func (UserClientRoleProtocolMapperMap) ToUserClientRoleProtocolMapperMapOutput

func (i UserClientRoleProtocolMapperMap) ToUserClientRoleProtocolMapperMapOutput() UserClientRoleProtocolMapperMapOutput

func (UserClientRoleProtocolMapperMap) ToUserClientRoleProtocolMapperMapOutputWithContext

func (i UserClientRoleProtocolMapperMap) ToUserClientRoleProtocolMapperMapOutputWithContext(ctx context.Context) UserClientRoleProtocolMapperMapOutput

type UserClientRoleProtocolMapperMapInput

type UserClientRoleProtocolMapperMapInput interface {
	pulumi.Input

	ToUserClientRoleProtocolMapperMapOutput() UserClientRoleProtocolMapperMapOutput
	ToUserClientRoleProtocolMapperMapOutputWithContext(context.Context) UserClientRoleProtocolMapperMapOutput
}

UserClientRoleProtocolMapperMapInput is an input type that accepts UserClientRoleProtocolMapperMap and UserClientRoleProtocolMapperMapOutput values. You can construct a concrete instance of `UserClientRoleProtocolMapperMapInput` via:

UserClientRoleProtocolMapperMap{ "key": UserClientRoleProtocolMapperArgs{...} }

type UserClientRoleProtocolMapperMapOutput

type UserClientRoleProtocolMapperMapOutput struct{ *pulumi.OutputState }

func (UserClientRoleProtocolMapperMapOutput) ElementType

func (UserClientRoleProtocolMapperMapOutput) MapIndex

func (UserClientRoleProtocolMapperMapOutput) ToUserClientRoleProtocolMapperMapOutput

func (o UserClientRoleProtocolMapperMapOutput) ToUserClientRoleProtocolMapperMapOutput() UserClientRoleProtocolMapperMapOutput

func (UserClientRoleProtocolMapperMapOutput) ToUserClientRoleProtocolMapperMapOutputWithContext

func (o UserClientRoleProtocolMapperMapOutput) ToUserClientRoleProtocolMapperMapOutputWithContext(ctx context.Context) UserClientRoleProtocolMapperMapOutput

type UserClientRoleProtocolMapperOutput

type UserClientRoleProtocolMapperOutput struct{ *pulumi.OutputState }

func (UserClientRoleProtocolMapperOutput) AddToAccessToken

Indicates if the property should be added as a claim to the access token. Defaults to `true`.

func (UserClientRoleProtocolMapperOutput) AddToIdToken

Indicates if the property should be added as a claim to the id token. Defaults to `true`.

func (UserClientRoleProtocolMapperOutput) AddToUserinfo

Indicates if the property should be added as a claim to the UserInfo response body. Defaults to `true`.

func (UserClientRoleProtocolMapperOutput) ClaimName

The name of the claim to insert into a token.

func (UserClientRoleProtocolMapperOutput) ClaimValueType

The claim type used when serializing JSON tokens. Can be one of `String`, `JSON`, `long`, `int`, or `boolean`. Defaults to `String`.

func (UserClientRoleProtocolMapperOutput) ClientId

The client this protocol mapper should be attached to. Conflicts with `clientScopeId`. One of `clientId` or `clientScopeId` must be specified.

func (UserClientRoleProtocolMapperOutput) ClientIdForRoleMappings

func (o UserClientRoleProtocolMapperOutput) ClientIdForRoleMappings() pulumi.StringPtrOutput

The Client ID for role mappings. Just client roles of this client will be added to the token. If this is unset, client roles of all clients will be added to the token.

func (UserClientRoleProtocolMapperOutput) ClientRolePrefix

A prefix for each Client Role.

func (UserClientRoleProtocolMapperOutput) ClientScopeId

The client scope this protocol mapper should be attached to. Conflicts with `clientId`. One of `clientId` or `clientScopeId` must be specified.

func (UserClientRoleProtocolMapperOutput) ElementType

func (UserClientRoleProtocolMapperOutput) Multivalued

Indicates if attribute supports multiple values. If true, then the list of all values of this attribute will be set as claim. If false, then just first value will be set as claim. Defaults to `false`.

func (UserClientRoleProtocolMapperOutput) Name

The display name of this protocol mapper in the GUI.

func (UserClientRoleProtocolMapperOutput) RealmId

The realm this protocol mapper exists within.

func (UserClientRoleProtocolMapperOutput) ToUserClientRoleProtocolMapperOutput

func (o UserClientRoleProtocolMapperOutput) ToUserClientRoleProtocolMapperOutput() UserClientRoleProtocolMapperOutput

func (UserClientRoleProtocolMapperOutput) ToUserClientRoleProtocolMapperOutputWithContext

func (o UserClientRoleProtocolMapperOutput) ToUserClientRoleProtocolMapperOutputWithContext(ctx context.Context) UserClientRoleProtocolMapperOutput

type UserClientRoleProtocolMapperState

type UserClientRoleProtocolMapperState struct {
	// Indicates if the property should be added as a claim to the access token. Defaults to `true`.
	AddToAccessToken pulumi.BoolPtrInput
	// Indicates if the property should be added as a claim to the id token. Defaults to `true`.
	AddToIdToken pulumi.BoolPtrInput
	// Indicates if the property should be added as a claim to the UserInfo response body. Defaults to `true`.
	AddToUserinfo pulumi.BoolPtrInput
	// The name of the claim to insert into a token.
	ClaimName pulumi.StringPtrInput
	// The claim type used when serializing JSON tokens. Can be one of `String`, `JSON`, `long`, `int`, or `boolean`. Defaults to `String`.
	ClaimValueType pulumi.StringPtrInput
	// The client this protocol mapper should be attached to. Conflicts with `clientScopeId`. One of `clientId` or `clientScopeId` must be specified.
	ClientId pulumi.StringPtrInput
	// The Client ID for role mappings. Just client roles of this client will be added to the token. If this is unset, client roles of all clients will be added to the token.
	ClientIdForRoleMappings pulumi.StringPtrInput
	// A prefix for each Client Role.
	ClientRolePrefix pulumi.StringPtrInput
	// The client scope this protocol mapper should be attached to. Conflicts with `clientId`. One of `clientId` or `clientScopeId` must be specified.
	ClientScopeId pulumi.StringPtrInput
	// Indicates if attribute supports multiple values. If true, then the list of all values of this attribute will be set as claim. If false, then just first value will be set as claim. Defaults to `false`.
	Multivalued pulumi.BoolPtrInput
	// The display name of this protocol mapper in the GUI.
	Name pulumi.StringPtrInput
	// The realm this protocol mapper exists within.
	RealmId pulumi.StringPtrInput
}

func (UserClientRoleProtocolMapperState) ElementType

type UserPropertyProtocolMapper

type UserPropertyProtocolMapper struct {
	pulumi.CustomResourceState

	// Indicates if the property should be a claim in the access token.
	AddToAccessToken pulumi.BoolPtrOutput `pulumi:"addToAccessToken"`
	// Indicates if the property should be a claim in the id token.
	AddToIdToken pulumi.BoolPtrOutput `pulumi:"addToIdToken"`
	// Indicates if the property should appear in the userinfo response body.
	AddToUserinfo pulumi.BoolPtrOutput `pulumi:"addToUserinfo"`
	ClaimName     pulumi.StringOutput  `pulumi:"claimName"`
	// Claim type used when serializing tokens.
	ClaimValueType pulumi.StringPtrOutput `pulumi:"claimValueType"`
	// The mapper's associated client. Cannot be used at the same time as client_scope_id.
	ClientId pulumi.StringPtrOutput `pulumi:"clientId"`
	// The mapper's associated client scope. Cannot be used at the same time as client_id.
	ClientScopeId pulumi.StringPtrOutput `pulumi:"clientScopeId"`
	// A human-friendly name that will appear in the Keycloak console.
	Name pulumi.StringOutput `pulumi:"name"`
	// The realm id where the associated client or client scope exists.
	RealmId      pulumi.StringOutput `pulumi:"realmId"`
	UserProperty pulumi.StringOutput `pulumi:"userProperty"`
}

## # openid.UserPropertyProtocolMapper

Allows for creating and managing user property protocol mappers within Keycloak.

User property protocol mappers allow you to map built in properties defined on the Keycloak user interface to a claim in a token. Protocol mappers can be defined for a single client, or they can be defined for a client scope which can be shared between multiple different clients.

### Example Usage (Client)

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak"
"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak/openid"
"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{
			Enabled: pulumi.Bool(true),
			Realm:   pulumi.String("my-realm"),
		})
		if err != nil {
			return err
		}
		openidClient, err := openid.NewClient(ctx, "openidClient", &openid.ClientArgs{
			AccessType: pulumi.String("CONFIDENTIAL"),
			ClientId:   pulumi.String("test-client"),
			Enabled:    pulumi.Bool(true),
			RealmId:    realm.ID(),
			ValidRedirectUris: pulumi.StringArray{
				pulumi.String("http://localhost:8080/openid-callback"),
			},
		})
		if err != nil {
			return err
		}
		_, err = openid.NewUserPropertyProtocolMapper(ctx, "userPropertyMapper", &openid.UserPropertyProtocolMapperArgs{
			ClaimName:    pulumi.String("email"),
			ClientId:     openidClient.ID(),
			RealmId:      realm.ID(),
			UserProperty: pulumi.String("email"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

### Example Usage (Client Scope)

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak"
"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak/openid"
"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{
			Enabled: pulumi.Bool(true),
			Realm:   pulumi.String("my-realm"),
		})
		if err != nil {
			return err
		}
		clientScope, err := openid.NewClientScope(ctx, "clientScope", &openid.ClientScopeArgs{
			RealmId: realm.ID(),
		})
		if err != nil {
			return err
		}
		_, err = openid.NewUserPropertyProtocolMapper(ctx, "userPropertyMapper", &openid.UserPropertyProtocolMapperArgs{
			ClaimName:     pulumi.String("email"),
			ClientScopeId: clientScope.ID(),
			RealmId:       realm.ID(),
			UserProperty:  pulumi.String("email"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

### Argument Reference

The following arguments are supported:

- `realmId` - (Required) The realm this protocol mapper exists within. - `clientId` - (Required if `clientScopeId` is not specified) The client this protocol mapper is attached to. - `clientScopeId` - (Required if `clientId` is not specified) The client scope this protocol mapper is attached to. - `name` - (Required) The display name of this protocol mapper in the GUI. - `userProperty` - (Required) The built in user property (such as email) to map a claim for. - `claimName` - (Required) The name of the claim to insert into a token. - `claimValueType` - (Optional) The claim type used when serializing JSON tokens. Can be one of `String`, `long`, `int`, or `boolean`. Defaults to `String`. - `addToIdToken` - (Optional) Indicates if the property should be added as a claim to the id token. Defaults to `true`. - `addToAccessToken` - (Optional) Indicates if the property should be added as a claim to the access token. Defaults to `true`. - `addToUserinfo` - (Optional) Indicates if the property should be added as a claim to the UserInfo response body. Defaults to `true`.

### Import

Protocol mappers can be imported using one of the following formats: - Client: `{{realm_id}}/client/{{client_keycloak_id}}/{{protocol_mapper_id}}` - Client Scope: `{{realm_id}}/client-scope/{{client_scope_keycloak_id}}/{{protocol_mapper_id}}`

Example:

func GetUserPropertyProtocolMapper

func GetUserPropertyProtocolMapper(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *UserPropertyProtocolMapperState, opts ...pulumi.ResourceOption) (*UserPropertyProtocolMapper, error)

GetUserPropertyProtocolMapper gets an existing UserPropertyProtocolMapper 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 NewUserPropertyProtocolMapper

func NewUserPropertyProtocolMapper(ctx *pulumi.Context,
	name string, args *UserPropertyProtocolMapperArgs, opts ...pulumi.ResourceOption) (*UserPropertyProtocolMapper, error)

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

func (*UserPropertyProtocolMapper) ElementType

func (*UserPropertyProtocolMapper) ElementType() reflect.Type

func (*UserPropertyProtocolMapper) ToUserPropertyProtocolMapperOutput

func (i *UserPropertyProtocolMapper) ToUserPropertyProtocolMapperOutput() UserPropertyProtocolMapperOutput

func (*UserPropertyProtocolMapper) ToUserPropertyProtocolMapperOutputWithContext

func (i *UserPropertyProtocolMapper) ToUserPropertyProtocolMapperOutputWithContext(ctx context.Context) UserPropertyProtocolMapperOutput

type UserPropertyProtocolMapperArgs

type UserPropertyProtocolMapperArgs struct {
	// Indicates if the property should be a claim in the access token.
	AddToAccessToken pulumi.BoolPtrInput
	// Indicates if the property should be a claim in the id token.
	AddToIdToken pulumi.BoolPtrInput
	// Indicates if the property should appear in the userinfo response body.
	AddToUserinfo pulumi.BoolPtrInput
	ClaimName     pulumi.StringInput
	// Claim type used when serializing tokens.
	ClaimValueType pulumi.StringPtrInput
	// The mapper's associated client. Cannot be used at the same time as client_scope_id.
	ClientId pulumi.StringPtrInput
	// The mapper's associated client scope. Cannot be used at the same time as client_id.
	ClientScopeId pulumi.StringPtrInput
	// A human-friendly name that will appear in the Keycloak console.
	Name pulumi.StringPtrInput
	// The realm id where the associated client or client scope exists.
	RealmId      pulumi.StringInput
	UserProperty pulumi.StringInput
}

The set of arguments for constructing a UserPropertyProtocolMapper resource.

func (UserPropertyProtocolMapperArgs) ElementType

type UserPropertyProtocolMapperArray

type UserPropertyProtocolMapperArray []UserPropertyProtocolMapperInput

func (UserPropertyProtocolMapperArray) ElementType

func (UserPropertyProtocolMapperArray) ToUserPropertyProtocolMapperArrayOutput

func (i UserPropertyProtocolMapperArray) ToUserPropertyProtocolMapperArrayOutput() UserPropertyProtocolMapperArrayOutput

func (UserPropertyProtocolMapperArray) ToUserPropertyProtocolMapperArrayOutputWithContext

func (i UserPropertyProtocolMapperArray) ToUserPropertyProtocolMapperArrayOutputWithContext(ctx context.Context) UserPropertyProtocolMapperArrayOutput

type UserPropertyProtocolMapperArrayInput

type UserPropertyProtocolMapperArrayInput interface {
	pulumi.Input

	ToUserPropertyProtocolMapperArrayOutput() UserPropertyProtocolMapperArrayOutput
	ToUserPropertyProtocolMapperArrayOutputWithContext(context.Context) UserPropertyProtocolMapperArrayOutput
}

UserPropertyProtocolMapperArrayInput is an input type that accepts UserPropertyProtocolMapperArray and UserPropertyProtocolMapperArrayOutput values. You can construct a concrete instance of `UserPropertyProtocolMapperArrayInput` via:

UserPropertyProtocolMapperArray{ UserPropertyProtocolMapperArgs{...} }

type UserPropertyProtocolMapperArrayOutput

type UserPropertyProtocolMapperArrayOutput struct{ *pulumi.OutputState }

func (UserPropertyProtocolMapperArrayOutput) ElementType

func (UserPropertyProtocolMapperArrayOutput) Index

func (UserPropertyProtocolMapperArrayOutput) ToUserPropertyProtocolMapperArrayOutput

func (o UserPropertyProtocolMapperArrayOutput) ToUserPropertyProtocolMapperArrayOutput() UserPropertyProtocolMapperArrayOutput

func (UserPropertyProtocolMapperArrayOutput) ToUserPropertyProtocolMapperArrayOutputWithContext

func (o UserPropertyProtocolMapperArrayOutput) ToUserPropertyProtocolMapperArrayOutputWithContext(ctx context.Context) UserPropertyProtocolMapperArrayOutput

type UserPropertyProtocolMapperInput

type UserPropertyProtocolMapperInput interface {
	pulumi.Input

	ToUserPropertyProtocolMapperOutput() UserPropertyProtocolMapperOutput
	ToUserPropertyProtocolMapperOutputWithContext(ctx context.Context) UserPropertyProtocolMapperOutput
}

type UserPropertyProtocolMapperMap

type UserPropertyProtocolMapperMap map[string]UserPropertyProtocolMapperInput

func (UserPropertyProtocolMapperMap) ElementType

func (UserPropertyProtocolMapperMap) ToUserPropertyProtocolMapperMapOutput

func (i UserPropertyProtocolMapperMap) ToUserPropertyProtocolMapperMapOutput() UserPropertyProtocolMapperMapOutput

func (UserPropertyProtocolMapperMap) ToUserPropertyProtocolMapperMapOutputWithContext

func (i UserPropertyProtocolMapperMap) ToUserPropertyProtocolMapperMapOutputWithContext(ctx context.Context) UserPropertyProtocolMapperMapOutput

type UserPropertyProtocolMapperMapInput

type UserPropertyProtocolMapperMapInput interface {
	pulumi.Input

	ToUserPropertyProtocolMapperMapOutput() UserPropertyProtocolMapperMapOutput
	ToUserPropertyProtocolMapperMapOutputWithContext(context.Context) UserPropertyProtocolMapperMapOutput
}

UserPropertyProtocolMapperMapInput is an input type that accepts UserPropertyProtocolMapperMap and UserPropertyProtocolMapperMapOutput values. You can construct a concrete instance of `UserPropertyProtocolMapperMapInput` via:

UserPropertyProtocolMapperMap{ "key": UserPropertyProtocolMapperArgs{...} }

type UserPropertyProtocolMapperMapOutput

type UserPropertyProtocolMapperMapOutput struct{ *pulumi.OutputState }

func (UserPropertyProtocolMapperMapOutput) ElementType

func (UserPropertyProtocolMapperMapOutput) MapIndex

func (UserPropertyProtocolMapperMapOutput) ToUserPropertyProtocolMapperMapOutput

func (o UserPropertyProtocolMapperMapOutput) ToUserPropertyProtocolMapperMapOutput() UserPropertyProtocolMapperMapOutput

func (UserPropertyProtocolMapperMapOutput) ToUserPropertyProtocolMapperMapOutputWithContext

func (o UserPropertyProtocolMapperMapOutput) ToUserPropertyProtocolMapperMapOutputWithContext(ctx context.Context) UserPropertyProtocolMapperMapOutput

type UserPropertyProtocolMapperOutput

type UserPropertyProtocolMapperOutput struct{ *pulumi.OutputState }

func (UserPropertyProtocolMapperOutput) AddToAccessToken

Indicates if the property should be a claim in the access token.

func (UserPropertyProtocolMapperOutput) AddToIdToken

Indicates if the property should be a claim in the id token.

func (UserPropertyProtocolMapperOutput) AddToUserinfo

Indicates if the property should appear in the userinfo response body.

func (UserPropertyProtocolMapperOutput) ClaimName

func (UserPropertyProtocolMapperOutput) ClaimValueType

Claim type used when serializing tokens.

func (UserPropertyProtocolMapperOutput) ClientId

The mapper's associated client. Cannot be used at the same time as client_scope_id.

func (UserPropertyProtocolMapperOutput) ClientScopeId

The mapper's associated client scope. Cannot be used at the same time as client_id.

func (UserPropertyProtocolMapperOutput) ElementType

func (UserPropertyProtocolMapperOutput) Name

A human-friendly name that will appear in the Keycloak console.

func (UserPropertyProtocolMapperOutput) RealmId

The realm id where the associated client or client scope exists.

func (UserPropertyProtocolMapperOutput) ToUserPropertyProtocolMapperOutput

func (o UserPropertyProtocolMapperOutput) ToUserPropertyProtocolMapperOutput() UserPropertyProtocolMapperOutput

func (UserPropertyProtocolMapperOutput) ToUserPropertyProtocolMapperOutputWithContext

func (o UserPropertyProtocolMapperOutput) ToUserPropertyProtocolMapperOutputWithContext(ctx context.Context) UserPropertyProtocolMapperOutput

func (UserPropertyProtocolMapperOutput) UserProperty

type UserPropertyProtocolMapperState

type UserPropertyProtocolMapperState struct {
	// Indicates if the property should be a claim in the access token.
	AddToAccessToken pulumi.BoolPtrInput
	// Indicates if the property should be a claim in the id token.
	AddToIdToken pulumi.BoolPtrInput
	// Indicates if the property should appear in the userinfo response body.
	AddToUserinfo pulumi.BoolPtrInput
	ClaimName     pulumi.StringPtrInput
	// Claim type used when serializing tokens.
	ClaimValueType pulumi.StringPtrInput
	// The mapper's associated client. Cannot be used at the same time as client_scope_id.
	ClientId pulumi.StringPtrInput
	// The mapper's associated client scope. Cannot be used at the same time as client_id.
	ClientScopeId pulumi.StringPtrInput
	// A human-friendly name that will appear in the Keycloak console.
	Name pulumi.StringPtrInput
	// The realm id where the associated client or client scope exists.
	RealmId      pulumi.StringPtrInput
	UserProperty pulumi.StringPtrInput
}

func (UserPropertyProtocolMapperState) ElementType

type UserRealmRoleProtocolMapper

type UserRealmRoleProtocolMapper struct {
	pulumi.CustomResourceState

	// Indicates if the attribute should be a claim in the access token.
	AddToAccessToken pulumi.BoolPtrOutput `pulumi:"addToAccessToken"`
	// Indicates if the attribute should be a claim in the id token.
	AddToIdToken pulumi.BoolPtrOutput `pulumi:"addToIdToken"`
	// Indicates if the attribute should appear in the userinfo response body.
	AddToUserinfo pulumi.BoolPtrOutput `pulumi:"addToUserinfo"`
	ClaimName     pulumi.StringOutput  `pulumi:"claimName"`
	// Claim type used when serializing tokens.
	ClaimValueType pulumi.StringPtrOutput `pulumi:"claimValueType"`
	// The mapper's associated client. Cannot be used at the same time as client_scope_id.
	ClientId pulumi.StringPtrOutput `pulumi:"clientId"`
	// The mapper's associated client scope. Cannot be used at the same time as client_id.
	ClientScopeId pulumi.StringPtrOutput `pulumi:"clientScopeId"`
	// Indicates whether this attribute is a single value or an array of values.
	Multivalued pulumi.BoolPtrOutput `pulumi:"multivalued"`
	// A human-friendly name that will appear in the Keycloak console.
	Name pulumi.StringOutput `pulumi:"name"`
	// The realm id where the associated client or client scope exists.
	RealmId pulumi.StringOutput `pulumi:"realmId"`
	// Prefix that will be added to each realm role.
	RealmRolePrefix pulumi.StringPtrOutput `pulumi:"realmRolePrefix"`
}

## # openid.UserRealmRoleProtocolMapper

Allows for creating and managing user realm role protocol mappers within Keycloak.

User realm role protocol mappers allow you to define a claim containing the list of the realm roles. Protocol mappers can be defined for a single client, or they can be defined for a client scope which can be shared between multiple different clients.

### Example Usage (Client)

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak"
"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak/openid"
"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{
			Enabled: pulumi.Bool(true),
			Realm:   pulumi.String("my-realm"),
		})
		if err != nil {
			return err
		}
		openidClient, err := openid.NewClient(ctx, "openidClient", &openid.ClientArgs{
			AccessType: pulumi.String("CONFIDENTIAL"),
			ClientId:   pulumi.String("test-client"),
			Enabled:    pulumi.Bool(true),
			RealmId:    realm.ID(),
			ValidRedirectUris: pulumi.StringArray{
				pulumi.String("http://localhost:8080/openid-callback"),
			},
		})
		if err != nil {
			return err
		}
		_, err = openid.NewUserRealmRoleProtocolMapper(ctx, "userRealmRoleMapper", &openid.UserRealmRoleProtocolMapperArgs{
			ClaimName: pulumi.String("foo"),
			ClientId:  openidClient.ID(),
			RealmId:   realm.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

### Example Usage (Client Scope)

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak"
"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak/openid"
"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{
			Enabled: pulumi.Bool(true),
			Realm:   pulumi.String("my-realm"),
		})
		if err != nil {
			return err
		}
		clientScope, err := openid.NewClientScope(ctx, "clientScope", &openid.ClientScopeArgs{
			RealmId: realm.ID(),
		})
		if err != nil {
			return err
		}
		_, err = openid.NewUserRealmRoleProtocolMapper(ctx, "userRealmRoleMapper", &openid.UserRealmRoleProtocolMapperArgs{
			ClaimName:     pulumi.String("foo"),
			ClientScopeId: clientScope.ID(),
			RealmId:       realm.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

### Argument Reference

The following arguments are supported:

- `realmId` - (Required) The realm this protocol mapper exists within. - `clientId` - (Required if `clientScopeId` is not specified) The client this protocol mapper is attached to. - `clientScopeId` - (Required if `clientId` is not specified) The client scope this protocol mapper is attached to. - `name` - (Required) The display name of this protocol mapper in the GUI. - `claimName` - (Required) The name of the claim to insert into a token. - `claimValueType` - (Optional) The claim type used when serializing JSON tokens. Can be one of `String`, `long`, `int`, or `boolean`. Defaults to `String`. - `multivalued` - (Optional) Indicates if attribute supports multiple values. If true, then the list of all values of this attribute will be set as claim. If false, then just first value will be set as claim. Defaults to `true`. - `realmRolePrefix` - (Optional) A prefix for each Realm Role. - `addToIdToken` - (Optional) Indicates if the property should be added as a claim to the id token. Defaults to `true`. - `addToAccessToken` - (Optional) Indicates if the property should be added as a claim to the access token. Defaults to `true`. - `addToUserinfo` - (Optional) Indicates if the property should be added as a claim to the UserInfo response body. Defaults to `true`.

### Import

Protocol mappers can be imported using one of the following formats: - Client: `{{realm_id}}/client/{{client_keycloak_id}}/{{protocol_mapper_id}}` - Client Scope: `{{realm_id}}/client-scope/{{client_scope_keycloak_id}}/{{protocol_mapper_id}}`

Example:

func GetUserRealmRoleProtocolMapper

func GetUserRealmRoleProtocolMapper(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *UserRealmRoleProtocolMapperState, opts ...pulumi.ResourceOption) (*UserRealmRoleProtocolMapper, error)

GetUserRealmRoleProtocolMapper gets an existing UserRealmRoleProtocolMapper 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 NewUserRealmRoleProtocolMapper

func NewUserRealmRoleProtocolMapper(ctx *pulumi.Context,
	name string, args *UserRealmRoleProtocolMapperArgs, opts ...pulumi.ResourceOption) (*UserRealmRoleProtocolMapper, error)

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

func (*UserRealmRoleProtocolMapper) ElementType

func (*UserRealmRoleProtocolMapper) ElementType() reflect.Type

func (*UserRealmRoleProtocolMapper) ToUserRealmRoleProtocolMapperOutput

func (i *UserRealmRoleProtocolMapper) ToUserRealmRoleProtocolMapperOutput() UserRealmRoleProtocolMapperOutput

func (*UserRealmRoleProtocolMapper) ToUserRealmRoleProtocolMapperOutputWithContext

func (i *UserRealmRoleProtocolMapper) ToUserRealmRoleProtocolMapperOutputWithContext(ctx context.Context) UserRealmRoleProtocolMapperOutput

type UserRealmRoleProtocolMapperArgs

type UserRealmRoleProtocolMapperArgs struct {
	// Indicates if the attribute should be a claim in the access token.
	AddToAccessToken pulumi.BoolPtrInput
	// Indicates if the attribute should be a claim in the id token.
	AddToIdToken pulumi.BoolPtrInput
	// Indicates if the attribute should appear in the userinfo response body.
	AddToUserinfo pulumi.BoolPtrInput
	ClaimName     pulumi.StringInput
	// Claim type used when serializing tokens.
	ClaimValueType pulumi.StringPtrInput
	// The mapper's associated client. Cannot be used at the same time as client_scope_id.
	ClientId pulumi.StringPtrInput
	// The mapper's associated client scope. Cannot be used at the same time as client_id.
	ClientScopeId pulumi.StringPtrInput
	// Indicates whether this attribute is a single value or an array of values.
	Multivalued pulumi.BoolPtrInput
	// A human-friendly name that will appear in the Keycloak console.
	Name pulumi.StringPtrInput
	// The realm id where the associated client or client scope exists.
	RealmId pulumi.StringInput
	// Prefix that will be added to each realm role.
	RealmRolePrefix pulumi.StringPtrInput
}

The set of arguments for constructing a UserRealmRoleProtocolMapper resource.

func (UserRealmRoleProtocolMapperArgs) ElementType

type UserRealmRoleProtocolMapperArray

type UserRealmRoleProtocolMapperArray []UserRealmRoleProtocolMapperInput

func (UserRealmRoleProtocolMapperArray) ElementType

func (UserRealmRoleProtocolMapperArray) ToUserRealmRoleProtocolMapperArrayOutput

func (i UserRealmRoleProtocolMapperArray) ToUserRealmRoleProtocolMapperArrayOutput() UserRealmRoleProtocolMapperArrayOutput

func (UserRealmRoleProtocolMapperArray) ToUserRealmRoleProtocolMapperArrayOutputWithContext

func (i UserRealmRoleProtocolMapperArray) ToUserRealmRoleProtocolMapperArrayOutputWithContext(ctx context.Context) UserRealmRoleProtocolMapperArrayOutput

type UserRealmRoleProtocolMapperArrayInput

type UserRealmRoleProtocolMapperArrayInput interface {
	pulumi.Input

	ToUserRealmRoleProtocolMapperArrayOutput() UserRealmRoleProtocolMapperArrayOutput
	ToUserRealmRoleProtocolMapperArrayOutputWithContext(context.Context) UserRealmRoleProtocolMapperArrayOutput
}

UserRealmRoleProtocolMapperArrayInput is an input type that accepts UserRealmRoleProtocolMapperArray and UserRealmRoleProtocolMapperArrayOutput values. You can construct a concrete instance of `UserRealmRoleProtocolMapperArrayInput` via:

UserRealmRoleProtocolMapperArray{ UserRealmRoleProtocolMapperArgs{...} }

type UserRealmRoleProtocolMapperArrayOutput

type UserRealmRoleProtocolMapperArrayOutput struct{ *pulumi.OutputState }

func (UserRealmRoleProtocolMapperArrayOutput) ElementType

func (UserRealmRoleProtocolMapperArrayOutput) Index

func (UserRealmRoleProtocolMapperArrayOutput) ToUserRealmRoleProtocolMapperArrayOutput

func (o UserRealmRoleProtocolMapperArrayOutput) ToUserRealmRoleProtocolMapperArrayOutput() UserRealmRoleProtocolMapperArrayOutput

func (UserRealmRoleProtocolMapperArrayOutput) ToUserRealmRoleProtocolMapperArrayOutputWithContext

func (o UserRealmRoleProtocolMapperArrayOutput) ToUserRealmRoleProtocolMapperArrayOutputWithContext(ctx context.Context) UserRealmRoleProtocolMapperArrayOutput

type UserRealmRoleProtocolMapperInput

type UserRealmRoleProtocolMapperInput interface {
	pulumi.Input

	ToUserRealmRoleProtocolMapperOutput() UserRealmRoleProtocolMapperOutput
	ToUserRealmRoleProtocolMapperOutputWithContext(ctx context.Context) UserRealmRoleProtocolMapperOutput
}

type UserRealmRoleProtocolMapperMap

type UserRealmRoleProtocolMapperMap map[string]UserRealmRoleProtocolMapperInput

func (UserRealmRoleProtocolMapperMap) ElementType

func (UserRealmRoleProtocolMapperMap) ToUserRealmRoleProtocolMapperMapOutput

func (i UserRealmRoleProtocolMapperMap) ToUserRealmRoleProtocolMapperMapOutput() UserRealmRoleProtocolMapperMapOutput

func (UserRealmRoleProtocolMapperMap) ToUserRealmRoleProtocolMapperMapOutputWithContext

func (i UserRealmRoleProtocolMapperMap) ToUserRealmRoleProtocolMapperMapOutputWithContext(ctx context.Context) UserRealmRoleProtocolMapperMapOutput

type UserRealmRoleProtocolMapperMapInput

type UserRealmRoleProtocolMapperMapInput interface {
	pulumi.Input

	ToUserRealmRoleProtocolMapperMapOutput() UserRealmRoleProtocolMapperMapOutput
	ToUserRealmRoleProtocolMapperMapOutputWithContext(context.Context) UserRealmRoleProtocolMapperMapOutput
}

UserRealmRoleProtocolMapperMapInput is an input type that accepts UserRealmRoleProtocolMapperMap and UserRealmRoleProtocolMapperMapOutput values. You can construct a concrete instance of `UserRealmRoleProtocolMapperMapInput` via:

UserRealmRoleProtocolMapperMap{ "key": UserRealmRoleProtocolMapperArgs{...} }

type UserRealmRoleProtocolMapperMapOutput

type UserRealmRoleProtocolMapperMapOutput struct{ *pulumi.OutputState }

func (UserRealmRoleProtocolMapperMapOutput) ElementType

func (UserRealmRoleProtocolMapperMapOutput) MapIndex

func (UserRealmRoleProtocolMapperMapOutput) ToUserRealmRoleProtocolMapperMapOutput

func (o UserRealmRoleProtocolMapperMapOutput) ToUserRealmRoleProtocolMapperMapOutput() UserRealmRoleProtocolMapperMapOutput

func (UserRealmRoleProtocolMapperMapOutput) ToUserRealmRoleProtocolMapperMapOutputWithContext

func (o UserRealmRoleProtocolMapperMapOutput) ToUserRealmRoleProtocolMapperMapOutputWithContext(ctx context.Context) UserRealmRoleProtocolMapperMapOutput

type UserRealmRoleProtocolMapperOutput

type UserRealmRoleProtocolMapperOutput struct{ *pulumi.OutputState }

func (UserRealmRoleProtocolMapperOutput) AddToAccessToken

Indicates if the attribute should be a claim in the access token.

func (UserRealmRoleProtocolMapperOutput) AddToIdToken

Indicates if the attribute should be a claim in the id token.

func (UserRealmRoleProtocolMapperOutput) AddToUserinfo

Indicates if the attribute should appear in the userinfo response body.

func (UserRealmRoleProtocolMapperOutput) ClaimName

func (UserRealmRoleProtocolMapperOutput) ClaimValueType

Claim type used when serializing tokens.

func (UserRealmRoleProtocolMapperOutput) ClientId

The mapper's associated client. Cannot be used at the same time as client_scope_id.

func (UserRealmRoleProtocolMapperOutput) ClientScopeId

The mapper's associated client scope. Cannot be used at the same time as client_id.

func (UserRealmRoleProtocolMapperOutput) ElementType

func (UserRealmRoleProtocolMapperOutput) Multivalued

Indicates whether this attribute is a single value or an array of values.

func (UserRealmRoleProtocolMapperOutput) Name

A human-friendly name that will appear in the Keycloak console.

func (UserRealmRoleProtocolMapperOutput) RealmId

The realm id where the associated client or client scope exists.

func (UserRealmRoleProtocolMapperOutput) RealmRolePrefix

Prefix that will be added to each realm role.

func (UserRealmRoleProtocolMapperOutput) ToUserRealmRoleProtocolMapperOutput

func (o UserRealmRoleProtocolMapperOutput) ToUserRealmRoleProtocolMapperOutput() UserRealmRoleProtocolMapperOutput

func (UserRealmRoleProtocolMapperOutput) ToUserRealmRoleProtocolMapperOutputWithContext

func (o UserRealmRoleProtocolMapperOutput) ToUserRealmRoleProtocolMapperOutputWithContext(ctx context.Context) UserRealmRoleProtocolMapperOutput

type UserRealmRoleProtocolMapperState

type UserRealmRoleProtocolMapperState struct {
	// Indicates if the attribute should be a claim in the access token.
	AddToAccessToken pulumi.BoolPtrInput
	// Indicates if the attribute should be a claim in the id token.
	AddToIdToken pulumi.BoolPtrInput
	// Indicates if the attribute should appear in the userinfo response body.
	AddToUserinfo pulumi.BoolPtrInput
	ClaimName     pulumi.StringPtrInput
	// Claim type used when serializing tokens.
	ClaimValueType pulumi.StringPtrInput
	// The mapper's associated client. Cannot be used at the same time as client_scope_id.
	ClientId pulumi.StringPtrInput
	// The mapper's associated client scope. Cannot be used at the same time as client_id.
	ClientScopeId pulumi.StringPtrInput
	// Indicates whether this attribute is a single value or an array of values.
	Multivalued pulumi.BoolPtrInput
	// A human-friendly name that will appear in the Keycloak console.
	Name pulumi.StringPtrInput
	// The realm id where the associated client or client scope exists.
	RealmId pulumi.StringPtrInput
	// Prefix that will be added to each realm role.
	RealmRolePrefix pulumi.StringPtrInput
}

func (UserRealmRoleProtocolMapperState) ElementType

type UserSessionNoteProtocolMapper

type UserSessionNoteProtocolMapper struct {
	pulumi.CustomResourceState

	// Indicates if the property should be added as a claim to the access token. Defaults to `true`.
	AddToAccessToken pulumi.BoolPtrOutput `pulumi:"addToAccessToken"`
	// Indicates if the property should be added as a claim to the id token. Defaults to `true`.
	AddToIdToken pulumi.BoolPtrOutput `pulumi:"addToIdToken"`
	// The name of the claim to insert into a token.
	ClaimName pulumi.StringOutput `pulumi:"claimName"`
	// The claim type used when serializing JSON tokens. Can be one of `String`, `JSON`, `long`, `int`, or `boolean`. Defaults to `String`.
	ClaimValueType pulumi.StringPtrOutput `pulumi:"claimValueType"`
	// The client this protocol mapper should be attached to. Conflicts with `clientScopeId`. One of `clientId` or `clientScopeId` must be specified.
	ClientId pulumi.StringPtrOutput `pulumi:"clientId"`
	// The client scope this protocol mapper should be attached to. Conflicts with `clientId`. One of `clientId` or `clientScopeId` must be specified.
	ClientScopeId pulumi.StringPtrOutput `pulumi:"clientScopeId"`
	// The display name of this protocol mapper in the GUI.
	Name pulumi.StringOutput `pulumi:"name"`
	// The realm this protocol mapper exists within.
	RealmId pulumi.StringOutput `pulumi:"realmId"`
	// String value being the name of stored user session note within the UserSessionModel.note map.
	SessionNote pulumi.StringPtrOutput `pulumi:"sessionNote"`
}

Allows for creating and managing user session note protocol mappers within Keycloak.

User session note protocol mappers map a custom user session note to a token claim.

Protocol mappers can be defined for a single client, or they can be defined for a client scope which can be shared between multiple different clients.

## Example Usage

### Client)

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak"
"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak/openid"
"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
		}
		openidClient, err := openid.NewClient(ctx, "openidClient", &openid.ClientArgs{
			RealmId:    realm.ID(),
			ClientId:   pulumi.String("client"),
			Enabled:    pulumi.Bool(true),
			AccessType: pulumi.String("CONFIDENTIAL"),
			ValidRedirectUris: pulumi.StringArray{
				pulumi.String("http://localhost:8080/openid-callback"),
			},
		})
		if err != nil {
			return err
		}
		_, err = openid.NewUserSessionNoteProtocolMapper(ctx, "userSessionNoteMapper", &openid.UserSessionNoteProtocolMapperArgs{
			RealmId:        realm.ID(),
			ClientId:       openidClient.ID(),
			ClaimName:      pulumi.String("foo"),
			ClaimValueType: pulumi.String("String"),
			SessionNote:    pulumi.String("bar"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

### Client Scope)

<!--Start PulumiCodeChooser --> ```go package main

import (

"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak"
"github.com/pulumi/pulumi-keycloak/sdk/v5/go/keycloak/openid"
"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
		}
		clientScope, err := openid.NewClientScope(ctx, "clientScope", &openid.ClientScopeArgs{
			RealmId: realm.ID(),
		})
		if err != nil {
			return err
		}
		_, err = openid.NewUserSessionNoteProtocolMapper(ctx, "userSessionNoteMapper", &openid.UserSessionNoteProtocolMapperArgs{
			RealmId:        realm.ID(),
			ClientScopeId:  clientScope.ID(),
			ClaimName:      pulumi.String("foo"),
			ClaimValueType: pulumi.String("String"),
			SessionNote:    pulumi.String("bar"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

``` <!--End PulumiCodeChooser -->

## Import

Protocol mappers can be imported using one of the following formats:

- Client: `{{realm_id}}/client/{{client_keycloak_id}}/{{protocol_mapper_id}}`

- Client Scope: `{{realm_id}}/client-scope/{{client_scope_keycloak_id}}/{{protocol_mapper_id}}`

Example:

bash

```sh $ pulumi import keycloak:openid/userSessionNoteProtocolMapper:UserSessionNoteProtocolMapper user_session_note_mapper my-realm/client/a7202154-8793-4656-b655-1dd18c181e14/71602afa-f7d1-4788-8c49-ef8fd00af0f4 ```

```sh $ pulumi import keycloak:openid/userSessionNoteProtocolMapper:UserSessionNoteProtocolMapper user_session_note_mapper my-realm/client-scope/b799ea7e-73ee-4a73-990a-1eafebe8e20a/71602afa-f7d1-4788-8c49-ef8fd00af0f4 ```

func GetUserSessionNoteProtocolMapper

func GetUserSessionNoteProtocolMapper(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *UserSessionNoteProtocolMapperState, opts ...pulumi.ResourceOption) (*UserSessionNoteProtocolMapper, error)

GetUserSessionNoteProtocolMapper gets an existing UserSessionNoteProtocolMapper 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 NewUserSessionNoteProtocolMapper

func NewUserSessionNoteProtocolMapper(ctx *pulumi.Context,
	name string, args *UserSessionNoteProtocolMapperArgs, opts ...pulumi.ResourceOption) (*UserSessionNoteProtocolMapper, error)

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

func (*UserSessionNoteProtocolMapper) ElementType

func (*UserSessionNoteProtocolMapper) ToUserSessionNoteProtocolMapperOutput

func (i *UserSessionNoteProtocolMapper) ToUserSessionNoteProtocolMapperOutput() UserSessionNoteProtocolMapperOutput

func (*UserSessionNoteProtocolMapper) ToUserSessionNoteProtocolMapperOutputWithContext

func (i *UserSessionNoteProtocolMapper) ToUserSessionNoteProtocolMapperOutputWithContext(ctx context.Context) UserSessionNoteProtocolMapperOutput

type UserSessionNoteProtocolMapperArgs

type UserSessionNoteProtocolMapperArgs struct {
	// Indicates if the property should be added as a claim to the access token. Defaults to `true`.
	AddToAccessToken pulumi.BoolPtrInput
	// Indicates if the property should be added as a claim to the id token. Defaults to `true`.
	AddToIdToken pulumi.BoolPtrInput
	// The name of the claim to insert into a token.
	ClaimName pulumi.StringInput
	// The claim type used when serializing JSON tokens. Can be one of `String`, `JSON`, `long`, `int`, or `boolean`. Defaults to `String`.
	ClaimValueType pulumi.StringPtrInput
	// The client this protocol mapper should be attached to. Conflicts with `clientScopeId`. One of `clientId` or `clientScopeId` must be specified.
	ClientId pulumi.StringPtrInput
	// The client scope this protocol mapper should be attached to. Conflicts with `clientId`. One of `clientId` or `clientScopeId` must be specified.
	ClientScopeId pulumi.StringPtrInput
	// The display name of this protocol mapper in the GUI.
	Name pulumi.StringPtrInput
	// The realm this protocol mapper exists within.
	RealmId pulumi.StringInput
	// String value being the name of stored user session note within the UserSessionModel.note map.
	SessionNote pulumi.StringPtrInput
}

The set of arguments for constructing a UserSessionNoteProtocolMapper resource.

func (UserSessionNoteProtocolMapperArgs) ElementType

type UserSessionNoteProtocolMapperArray

type UserSessionNoteProtocolMapperArray []UserSessionNoteProtocolMapperInput

func (UserSessionNoteProtocolMapperArray) ElementType

func (UserSessionNoteProtocolMapperArray) ToUserSessionNoteProtocolMapperArrayOutput

func (i UserSessionNoteProtocolMapperArray) ToUserSessionNoteProtocolMapperArrayOutput() UserSessionNoteProtocolMapperArrayOutput

func (UserSessionNoteProtocolMapperArray) ToUserSessionNoteProtocolMapperArrayOutputWithContext

func (i UserSessionNoteProtocolMapperArray) ToUserSessionNoteProtocolMapperArrayOutputWithContext(ctx context.Context) UserSessionNoteProtocolMapperArrayOutput

type UserSessionNoteProtocolMapperArrayInput

type UserSessionNoteProtocolMapperArrayInput interface {
	pulumi.Input

	ToUserSessionNoteProtocolMapperArrayOutput() UserSessionNoteProtocolMapperArrayOutput
	ToUserSessionNoteProtocolMapperArrayOutputWithContext(context.Context) UserSessionNoteProtocolMapperArrayOutput
}

UserSessionNoteProtocolMapperArrayInput is an input type that accepts UserSessionNoteProtocolMapperArray and UserSessionNoteProtocolMapperArrayOutput values. You can construct a concrete instance of `UserSessionNoteProtocolMapperArrayInput` via:

UserSessionNoteProtocolMapperArray{ UserSessionNoteProtocolMapperArgs{...} }

type UserSessionNoteProtocolMapperArrayOutput

type UserSessionNoteProtocolMapperArrayOutput struct{ *pulumi.OutputState }

func (UserSessionNoteProtocolMapperArrayOutput) ElementType

func (UserSessionNoteProtocolMapperArrayOutput) Index

func (UserSessionNoteProtocolMapperArrayOutput) ToUserSessionNoteProtocolMapperArrayOutput

func (o UserSessionNoteProtocolMapperArrayOutput) ToUserSessionNoteProtocolMapperArrayOutput() UserSessionNoteProtocolMapperArrayOutput

func (UserSessionNoteProtocolMapperArrayOutput) ToUserSessionNoteProtocolMapperArrayOutputWithContext

func (o UserSessionNoteProtocolMapperArrayOutput) ToUserSessionNoteProtocolMapperArrayOutputWithContext(ctx context.Context) UserSessionNoteProtocolMapperArrayOutput

type UserSessionNoteProtocolMapperInput

type UserSessionNoteProtocolMapperInput interface {
	pulumi.Input

	ToUserSessionNoteProtocolMapperOutput() UserSessionNoteProtocolMapperOutput
	ToUserSessionNoteProtocolMapperOutputWithContext(ctx context.Context) UserSessionNoteProtocolMapperOutput
}

type UserSessionNoteProtocolMapperMap

type UserSessionNoteProtocolMapperMap map[string]UserSessionNoteProtocolMapperInput

func (UserSessionNoteProtocolMapperMap) ElementType

func (UserSessionNoteProtocolMapperMap) ToUserSessionNoteProtocolMapperMapOutput

func (i UserSessionNoteProtocolMapperMap) ToUserSessionNoteProtocolMapperMapOutput() UserSessionNoteProtocolMapperMapOutput

func (UserSessionNoteProtocolMapperMap) ToUserSessionNoteProtocolMapperMapOutputWithContext

func (i UserSessionNoteProtocolMapperMap) ToUserSessionNoteProtocolMapperMapOutputWithContext(ctx context.Context) UserSessionNoteProtocolMapperMapOutput

type UserSessionNoteProtocolMapperMapInput

type UserSessionNoteProtocolMapperMapInput interface {
	pulumi.Input

	ToUserSessionNoteProtocolMapperMapOutput() UserSessionNoteProtocolMapperMapOutput
	ToUserSessionNoteProtocolMapperMapOutputWithContext(context.Context) UserSessionNoteProtocolMapperMapOutput
}

UserSessionNoteProtocolMapperMapInput is an input type that accepts UserSessionNoteProtocolMapperMap and UserSessionNoteProtocolMapperMapOutput values. You can construct a concrete instance of `UserSessionNoteProtocolMapperMapInput` via:

UserSessionNoteProtocolMapperMap{ "key": UserSessionNoteProtocolMapperArgs{...} }

type UserSessionNoteProtocolMapperMapOutput

type UserSessionNoteProtocolMapperMapOutput struct{ *pulumi.OutputState }

func (UserSessionNoteProtocolMapperMapOutput) ElementType

func (UserSessionNoteProtocolMapperMapOutput) MapIndex

func (UserSessionNoteProtocolMapperMapOutput) ToUserSessionNoteProtocolMapperMapOutput

func (o UserSessionNoteProtocolMapperMapOutput) ToUserSessionNoteProtocolMapperMapOutput() UserSessionNoteProtocolMapperMapOutput

func (UserSessionNoteProtocolMapperMapOutput) ToUserSessionNoteProtocolMapperMapOutputWithContext

func (o UserSessionNoteProtocolMapperMapOutput) ToUserSessionNoteProtocolMapperMapOutputWithContext(ctx context.Context) UserSessionNoteProtocolMapperMapOutput

type UserSessionNoteProtocolMapperOutput

type UserSessionNoteProtocolMapperOutput struct{ *pulumi.OutputState }

func (UserSessionNoteProtocolMapperOutput) AddToAccessToken

Indicates if the property should be added as a claim to the access token. Defaults to `true`.

func (UserSessionNoteProtocolMapperOutput) AddToIdToken

Indicates if the property should be added as a claim to the id token. Defaults to `true`.

func (UserSessionNoteProtocolMapperOutput) ClaimName

The name of the claim to insert into a token.

func (UserSessionNoteProtocolMapperOutput) ClaimValueType

The claim type used when serializing JSON tokens. Can be one of `String`, `JSON`, `long`, `int`, or `boolean`. Defaults to `String`.

func (UserSessionNoteProtocolMapperOutput) ClientId

The client this protocol mapper should be attached to. Conflicts with `clientScopeId`. One of `clientId` or `clientScopeId` must be specified.

func (UserSessionNoteProtocolMapperOutput) ClientScopeId

The client scope this protocol mapper should be attached to. Conflicts with `clientId`. One of `clientId` or `clientScopeId` must be specified.

func (UserSessionNoteProtocolMapperOutput) ElementType

func (UserSessionNoteProtocolMapperOutput) Name

The display name of this protocol mapper in the GUI.

func (UserSessionNoteProtocolMapperOutput) RealmId

The realm this protocol mapper exists within.

func (UserSessionNoteProtocolMapperOutput) SessionNote

String value being the name of stored user session note within the UserSessionModel.note map.

func (UserSessionNoteProtocolMapperOutput) ToUserSessionNoteProtocolMapperOutput

func (o UserSessionNoteProtocolMapperOutput) ToUserSessionNoteProtocolMapperOutput() UserSessionNoteProtocolMapperOutput

func (UserSessionNoteProtocolMapperOutput) ToUserSessionNoteProtocolMapperOutputWithContext

func (o UserSessionNoteProtocolMapperOutput) ToUserSessionNoteProtocolMapperOutputWithContext(ctx context.Context) UserSessionNoteProtocolMapperOutput

type UserSessionNoteProtocolMapperState

type UserSessionNoteProtocolMapperState struct {
	// Indicates if the property should be added as a claim to the access token. Defaults to `true`.
	AddToAccessToken pulumi.BoolPtrInput
	// Indicates if the property should be added as a claim to the id token. Defaults to `true`.
	AddToIdToken pulumi.BoolPtrInput
	// The name of the claim to insert into a token.
	ClaimName pulumi.StringPtrInput
	// The claim type used when serializing JSON tokens. Can be one of `String`, `JSON`, `long`, `int`, or `boolean`. Defaults to `String`.
	ClaimValueType pulumi.StringPtrInput
	// The client this protocol mapper should be attached to. Conflicts with `clientScopeId`. One of `clientId` or `clientScopeId` must be specified.
	ClientId pulumi.StringPtrInput
	// The client scope this protocol mapper should be attached to. Conflicts with `clientId`. One of `clientId` or `clientScopeId` must be specified.
	ClientScopeId pulumi.StringPtrInput
	// The display name of this protocol mapper in the GUI.
	Name pulumi.StringPtrInput
	// The realm this protocol mapper exists within.
	RealmId pulumi.StringPtrInput
	// String value being the name of stored user session note within the UserSessionModel.note map.
	SessionNote pulumi.StringPtrInput
}

func (UserSessionNoteProtocolMapperState) ElementType

Jump to

Keyboard shortcuts

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