v1alpha1

package
v0.0.0-...-9da8eb2 Latest Latest
Warning

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

Go to latest
Published: Aug 20, 2024 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Overview

+kubebuilder:object:generate=true +groupName=keycloak.crd.alt +versionName=v1alpha1

Index

Constants

View Source
const (
	CRDGroup   = "keycloak.crd.alt"
	CRDVersion = "v1alpha1"
)

Package type metadata.

Variables

View Source
var (
	Group_Kind             = "Group"
	Group_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: Group_Kind}.String()
	Group_KindAPIVersion   = Group_Kind + "." + CRDGroupVersion.String()
	Group_GroupVersionKind = CRDGroupVersion.WithKind(Group_Kind)
)

Repository type metadata.

View Source
var (
	// CRDGroupVersion is the API Group Version used to register the objects
	CRDGroupVersion = schema.GroupVersion{Group: CRDGroup, Version: CRDVersion}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: CRDGroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var (
	Realm_Kind             = "Realm"
	Realm_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: Realm_Kind}.String()
	Realm_KindAPIVersion   = Realm_Kind + "." + CRDGroupVersion.String()
	Realm_GroupVersionKind = CRDGroupVersion.WithKind(Realm_Kind)
)

Repository type metadata.

View Source
var (
	Role_Kind             = "Role"
	Role_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: Role_Kind}.String()
	Role_KindAPIVersion   = Role_Kind + "." + CRDGroupVersion.String()
	Role_GroupVersionKind = CRDGroupVersion.WithKind(Role_Kind)
)

Repository type metadata.

View Source
var (
	User_Kind             = "User"
	User_GroupKind        = schema.GroupKind{Group: CRDGroup, Kind: User_Kind}.String()
	User_KindAPIVersion   = User_Kind + "." + CRDGroupVersion.String()
	User_GroupVersionKind = CRDGroupVersion.WithKind(User_Kind)
)

Repository type metadata.

Functions

This section is empty.

Types

type AuthInitParameters

type AuthInitParameters struct {

	// The SMTP server password.
	PasswordSecretRef v1.SecretKeySelector `json:"passwordSecretRef" tf:"-"`

	// The SMTP server username.
	Username *string `json:"username,omitempty" tf:"username,omitempty"`
}

func (*AuthInitParameters) DeepCopy

func (in *AuthInitParameters) DeepCopy() *AuthInitParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuthInitParameters.

func (*AuthInitParameters) DeepCopyInto

func (in *AuthInitParameters) DeepCopyInto(out *AuthInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AuthObservation

type AuthObservation struct {

	// The SMTP server username.
	Username *string `json:"username,omitempty" tf:"username,omitempty"`
}

func (*AuthObservation) DeepCopy

func (in *AuthObservation) DeepCopy() *AuthObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuthObservation.

func (*AuthObservation) DeepCopyInto

func (in *AuthObservation) DeepCopyInto(out *AuthObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AuthParameters

type AuthParameters struct {

	// The SMTP server password.
	// +kubebuilder:validation:Optional
	PasswordSecretRef v1.SecretKeySelector `json:"passwordSecretRef" tf:"-"`

	// The SMTP server username.
	// +kubebuilder:validation:Optional
	Username *string `json:"username" tf:"username,omitempty"`
}

func (*AuthParameters) DeepCopy

func (in *AuthParameters) DeepCopy() *AuthParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AuthParameters.

func (*AuthParameters) DeepCopyInto

func (in *AuthParameters) DeepCopyInto(out *AuthParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BruteForceDetectionInitParameters

type BruteForceDetectionInitParameters struct {

	// When will failure count be reset?
	FailureResetTimeSeconds *float64 `json:"failureResetTimeSeconds,omitempty" tf:"failure_reset_time_seconds,omitempty"`

	MaxFailureWaitSeconds *float64 `json:"maxFailureWaitSeconds,omitempty" tf:"max_failure_wait_seconds,omitempty"`

	// How many failures before wait is triggered.
	MaxLoginFailures *float64 `json:"maxLoginFailures,omitempty" tf:"max_login_failures,omitempty"`

	// How long to wait after a quick login failure.
	MinimumQuickLoginWaitSeconds *float64 `json:"minimumQuickLoginWaitSeconds,omitempty" tf:"minimum_quick_login_wait_seconds,omitempty"`

	// When true, this will lock the user permanently when the user exceeds the maximum login failures.
	PermanentLockout *bool `json:"permanentLockout,omitempty" tf:"permanent_lockout,omitempty"`

	// Configures the amount of time, in milliseconds, for consecutive failures to lock a user out.
	QuickLoginCheckMilliSeconds *float64 `json:"quickLoginCheckMilliSeconds,omitempty" tf:"quick_login_check_milli_seconds,omitempty"`

	// This represents the amount of time a user should be locked out when the login failure threshold has been met.
	WaitIncrementSeconds *float64 `json:"waitIncrementSeconds,omitempty" tf:"wait_increment_seconds,omitempty"`
}

func (*BruteForceDetectionInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BruteForceDetectionInitParameters.

func (*BruteForceDetectionInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BruteForceDetectionObservation

type BruteForceDetectionObservation struct {

	// When will failure count be reset?
	FailureResetTimeSeconds *float64 `json:"failureResetTimeSeconds,omitempty" tf:"failure_reset_time_seconds,omitempty"`

	MaxFailureWaitSeconds *float64 `json:"maxFailureWaitSeconds,omitempty" tf:"max_failure_wait_seconds,omitempty"`

	// How many failures before wait is triggered.
	MaxLoginFailures *float64 `json:"maxLoginFailures,omitempty" tf:"max_login_failures,omitempty"`

	// How long to wait after a quick login failure.
	MinimumQuickLoginWaitSeconds *float64 `json:"minimumQuickLoginWaitSeconds,omitempty" tf:"minimum_quick_login_wait_seconds,omitempty"`

	// When true, this will lock the user permanently when the user exceeds the maximum login failures.
	PermanentLockout *bool `json:"permanentLockout,omitempty" tf:"permanent_lockout,omitempty"`

	// Configures the amount of time, in milliseconds, for consecutive failures to lock a user out.
	QuickLoginCheckMilliSeconds *float64 `json:"quickLoginCheckMilliSeconds,omitempty" tf:"quick_login_check_milli_seconds,omitempty"`

	// This represents the amount of time a user should be locked out when the login failure threshold has been met.
	WaitIncrementSeconds *float64 `json:"waitIncrementSeconds,omitempty" tf:"wait_increment_seconds,omitempty"`
}

func (*BruteForceDetectionObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BruteForceDetectionObservation.

func (*BruteForceDetectionObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type BruteForceDetectionParameters

type BruteForceDetectionParameters struct {

	// When will failure count be reset?
	// +kubebuilder:validation:Optional
	FailureResetTimeSeconds *float64 `json:"failureResetTimeSeconds,omitempty" tf:"failure_reset_time_seconds,omitempty"`

	// +kubebuilder:validation:Optional
	MaxFailureWaitSeconds *float64 `json:"maxFailureWaitSeconds,omitempty" tf:"max_failure_wait_seconds,omitempty"`

	// How many failures before wait is triggered.
	// +kubebuilder:validation:Optional
	MaxLoginFailures *float64 `json:"maxLoginFailures,omitempty" tf:"max_login_failures,omitempty"`

	// How long to wait after a quick login failure.
	// +kubebuilder:validation:Optional
	MinimumQuickLoginWaitSeconds *float64 `json:"minimumQuickLoginWaitSeconds,omitempty" tf:"minimum_quick_login_wait_seconds,omitempty"`

	// When true, this will lock the user permanently when the user exceeds the maximum login failures.
	// +kubebuilder:validation:Optional
	PermanentLockout *bool `json:"permanentLockout,omitempty" tf:"permanent_lockout,omitempty"`

	// Configures the amount of time, in milliseconds, for consecutive failures to lock a user out.
	// +kubebuilder:validation:Optional
	QuickLoginCheckMilliSeconds *float64 `json:"quickLoginCheckMilliSeconds,omitempty" tf:"quick_login_check_milli_seconds,omitempty"`

	// This represents the amount of time a user should be locked out when the login failure threshold has been met.
	// +kubebuilder:validation:Optional
	WaitIncrementSeconds *float64 `json:"waitIncrementSeconds,omitempty" tf:"wait_increment_seconds,omitempty"`
}

func (*BruteForceDetectionParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BruteForceDetectionParameters.

func (*BruteForceDetectionParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FederatedIdentityInitParameters

type FederatedIdentityInitParameters struct {

	// The name of the identity provider
	IdentityProvider *string `json:"identityProvider,omitempty" tf:"identity_provider,omitempty"`

	// The user name of the user defined in the identity provider
	UserName *string `json:"userName,omitempty" tf:"user_name,omitempty"`
}

func (*FederatedIdentityInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FederatedIdentityInitParameters.

func (*FederatedIdentityInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FederatedIdentityObservation

type FederatedIdentityObservation struct {

	// The name of the identity provider
	IdentityProvider *string `json:"identityProvider,omitempty" tf:"identity_provider,omitempty"`

	// The ID of the user defined in the identity provider
	UserID *string `json:"userId,omitempty" tf:"user_id,omitempty"`

	// The user name of the user defined in the identity provider
	UserName *string `json:"userName,omitempty" tf:"user_name,omitempty"`
}

func (*FederatedIdentityObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FederatedIdentityObservation.

func (*FederatedIdentityObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type FederatedIdentityParameters

type FederatedIdentityParameters struct {

	// The name of the identity provider
	// +kubebuilder:validation:Optional
	IdentityProvider *string `json:"identityProvider" tf:"identity_provider,omitempty"`

	// The ID of the user defined in the identity provider
	// +kubebuilder:validation:Required
	UserID *string `json:"userId" tf:"user_id,omitempty"`

	// The user name of the user defined in the identity provider
	// +kubebuilder:validation:Optional
	UserName *string `json:"userName" tf:"user_name,omitempty"`
}

func (*FederatedIdentityParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FederatedIdentityParameters.

func (*FederatedIdentityParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Group

type Group struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.name) || (has(self.initProvider) && has(self.initProvider.name))",message="spec.forProvider.name is a required parameter"
	Spec   GroupSpec   `json:"spec"`
	Status GroupStatus `json:"status,omitempty"`
}

Group is the Schema for the Groups API. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,keycloak}

func (*Group) DeepCopy

func (in *Group) DeepCopy() *Group

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Group.

func (*Group) DeepCopyInto

func (in *Group) DeepCopyInto(out *Group)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Group) DeepCopyObject

func (in *Group) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Group) GetCondition

func (mg *Group) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this Group.

func (*Group) GetConnectionDetailsMapping

func (tr *Group) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this Group

func (*Group) GetDeletionPolicy

func (mg *Group) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this Group.

func (*Group) GetID

func (tr *Group) GetID() string

GetID returns ID of underlying Terraform resource of this Group

func (*Group) GetInitParameters

func (tr *Group) GetInitParameters() (map[string]any, error)

GetInitParameters of this Group

func (*Group) GetManagementPolicies

func (mg *Group) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this Group.

func (*Group) GetMergedParameters

func (tr *Group) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this Group

func (*Group) GetObservation

func (tr *Group) GetObservation() (map[string]any, error)

GetObservation of this Group

func (*Group) GetParameters

func (tr *Group) GetParameters() (map[string]any, error)

GetParameters of this Group

func (*Group) GetProviderConfigReference

func (mg *Group) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this Group.

func (*Group) GetPublishConnectionDetailsTo

func (mg *Group) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this Group.

func (*Group) GetTerraformResourceType

func (mg *Group) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this Group

func (*Group) GetTerraformSchemaVersion

func (tr *Group) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*Group) GetWriteConnectionSecretToReference

func (mg *Group) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this Group.

func (*Group) Hub

func (tr *Group) Hub()

Hub marks this type as a conversion hub.

func (*Group) LateInitialize

func (tr *Group) LateInitialize(attrs []byte) (bool, error)

LateInitialize this Group using its observed tfState. returns True if there are any spec changes for the resource.

func (*Group) ResolveReferences

func (mg *Group) ResolveReferences(ctx context.Context, c client.Reader) error

ResolveReferences of this Group.

func (*Group) SetConditions

func (mg *Group) SetConditions(c ...xpv1.Condition)

SetConditions of this Group.

func (*Group) SetDeletionPolicy

func (mg *Group) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this Group.

func (*Group) SetManagementPolicies

func (mg *Group) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this Group.

func (*Group) SetObservation

func (tr *Group) SetObservation(obs map[string]any) error

SetObservation for this Group

func (*Group) SetParameters

func (tr *Group) SetParameters(params map[string]any) error

SetParameters for this Group

func (*Group) SetProviderConfigReference

func (mg *Group) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this Group.

func (*Group) SetPublishConnectionDetailsTo

func (mg *Group) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this Group.

func (*Group) SetWriteConnectionSecretToReference

func (mg *Group) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this Group.

type GroupInitParameters

type GroupInitParameters struct {

	// A map representing attributes for the group. In order to add multivalue attributes, use ## to seperate the values. Max length for each value is 255 chars
	// +mapType=granular
	Attributes map[string]*string `json:"attributes,omitempty" tf:"attributes,omitempty"`

	// The name of the group.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The ID of this group's parent. If omitted, this group will be defined at the root level.
	ParentID *string `json:"parentId,omitempty" tf:"parent_id,omitempty"`
}

func (*GroupInitParameters) DeepCopy

func (in *GroupInitParameters) DeepCopy() *GroupInitParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupInitParameters.

func (*GroupInitParameters) DeepCopyInto

func (in *GroupInitParameters) DeepCopyInto(out *GroupInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GroupList

type GroupList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Group `json:"items"`
}

GroupList contains a list of Groups

func (*GroupList) DeepCopy

func (in *GroupList) DeepCopy() *GroupList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupList.

func (*GroupList) DeepCopyInto

func (in *GroupList) DeepCopyInto(out *GroupList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*GroupList) DeepCopyObject

func (in *GroupList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*GroupList) GetItems

func (l *GroupList) GetItems() []resource.Managed

GetItems of this GroupList.

type GroupObservation

type GroupObservation struct {

	// A map representing attributes for the group. In order to add multivalue attributes, use ## to seperate the values. Max length for each value is 255 chars
	// +mapType=granular
	Attributes map[string]*string `json:"attributes,omitempty" tf:"attributes,omitempty"`

	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// The name of the group.
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The ID of this group's parent. If omitted, this group will be defined at the root level.
	ParentID *string `json:"parentId,omitempty" tf:"parent_id,omitempty"`

	// (Computed) The complete path of the group. For example, the child group's path in the example configuration would be /parent-group/child-group.
	Path *string `json:"path,omitempty" tf:"path,omitempty"`

	// The realm this group exists in.
	RealmID *string `json:"realmId,omitempty" tf:"realm_id,omitempty"`
}

func (*GroupObservation) DeepCopy

func (in *GroupObservation) DeepCopy() *GroupObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupObservation.

func (*GroupObservation) DeepCopyInto

func (in *GroupObservation) DeepCopyInto(out *GroupObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GroupParameters

type GroupParameters struct {

	// A map representing attributes for the group. In order to add multivalue attributes, use ## to seperate the values. Max length for each value is 255 chars
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Attributes map[string]*string `json:"attributes,omitempty" tf:"attributes,omitempty"`

	// The name of the group.
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The ID of this group's parent. If omitted, this group will be defined at the root level.
	// +kubebuilder:validation:Optional
	ParentID *string `json:"parentId,omitempty" tf:"parent_id,omitempty"`

	// The realm this group exists in.
	// +crossplane:generate:reference:type=github.com/trois-six/provider-keycloak/apis/keycloak/v1alpha1.Realm
	// +kubebuilder:validation:Optional
	RealmID *string `json:"realmId,omitempty" tf:"realm_id,omitempty"`

	// Reference to a Realm in keycloak to populate realmId.
	// +kubebuilder:validation:Optional
	RealmIDRef *v1.Reference `json:"realmIdRef,omitempty" tf:"-"`

	// Selector for a Realm in keycloak to populate realmId.
	// +kubebuilder:validation:Optional
	RealmIDSelector *v1.Selector `json:"realmIdSelector,omitempty" tf:"-"`
}

func (*GroupParameters) DeepCopy

func (in *GroupParameters) DeepCopy() *GroupParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupParameters.

func (*GroupParameters) DeepCopyInto

func (in *GroupParameters) DeepCopyInto(out *GroupParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GroupSpec

type GroupSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     GroupParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider GroupInitParameters `json:"initProvider,omitempty"`
}

GroupSpec defines the desired state of Group

func (*GroupSpec) DeepCopy

func (in *GroupSpec) DeepCopy() *GroupSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupSpec.

func (*GroupSpec) DeepCopyInto

func (in *GroupSpec) DeepCopyInto(out *GroupSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GroupStatus

type GroupStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        GroupObservation `json:"atProvider,omitempty"`
}

GroupStatus defines the observed state of Group.

func (*GroupStatus) DeepCopy

func (in *GroupStatus) DeepCopy() *GroupStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupStatus.

func (*GroupStatus) DeepCopyInto

func (in *GroupStatus) DeepCopyInto(out *GroupStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HeadersInitParameters

type HeadersInitParameters struct {

	// Sets the Content Security Policy, which can be used for prevent pages from being included by non-origin iframes. More information can be found in the W3C-CSP Abstract.
	ContentSecurityPolicy *string `json:"contentSecurityPolicy,omitempty" tf:"content_security_policy,omitempty"`

	// Used for testing Content Security Policies.
	ContentSecurityPolicyReportOnly *string `json:"contentSecurityPolicyReportOnly,omitempty" tf:"content_security_policy_report_only,omitempty"`

	// The Referrer-Policy HTTP header controls how much referrer information (sent with the Referer header) should be included with requests.
	ReferrerPolicy *string `json:"referrerPolicy,omitempty" tf:"referrer_policy,omitempty"`

	// The Script-Transport-Security HTTP header tells browsers to always use HTTPS.
	StrictTransportSecurity *string `json:"strictTransportSecurity,omitempty" tf:"strict_transport_security,omitempty"`

	// Sets the X-Content-Type-Options, which can be used for prevent MIME-sniffing a response away from the declared content-type
	XContentTypeOptions *string `json:"xContentTypeOptions,omitempty" tf:"x_content_type_options,omitempty"`

	// Sets the x-frame-option, which can be used to prevent pages from being included by non-origin iframes. More information can be found in the RFC7034
	XFrameOptions *string `json:"xFrameOptions,omitempty" tf:"x_frame_options,omitempty"`

	// Prevent pages from appearing in search engines.
	XRobotsTag *string `json:"xRobotsTag,omitempty" tf:"x_robots_tag,omitempty"`

	// This header configures the Cross-site scripting (XSS) filter in your browser.
	XXSSProtection *string `json:"xXssProtection,omitempty" tf:"x_xss_protection,omitempty"`
}

func (*HeadersInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HeadersInitParameters.

func (*HeadersInitParameters) DeepCopyInto

func (in *HeadersInitParameters) DeepCopyInto(out *HeadersInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HeadersObservation

type HeadersObservation struct {

	// Sets the Content Security Policy, which can be used for prevent pages from being included by non-origin iframes. More information can be found in the W3C-CSP Abstract.
	ContentSecurityPolicy *string `json:"contentSecurityPolicy,omitempty" tf:"content_security_policy,omitempty"`

	// Used for testing Content Security Policies.
	ContentSecurityPolicyReportOnly *string `json:"contentSecurityPolicyReportOnly,omitempty" tf:"content_security_policy_report_only,omitempty"`

	// The Referrer-Policy HTTP header controls how much referrer information (sent with the Referer header) should be included with requests.
	ReferrerPolicy *string `json:"referrerPolicy,omitempty" tf:"referrer_policy,omitempty"`

	// The Script-Transport-Security HTTP header tells browsers to always use HTTPS.
	StrictTransportSecurity *string `json:"strictTransportSecurity,omitempty" tf:"strict_transport_security,omitempty"`

	// Sets the X-Content-Type-Options, which can be used for prevent MIME-sniffing a response away from the declared content-type
	XContentTypeOptions *string `json:"xContentTypeOptions,omitempty" tf:"x_content_type_options,omitempty"`

	// Sets the x-frame-option, which can be used to prevent pages from being included by non-origin iframes. More information can be found in the RFC7034
	XFrameOptions *string `json:"xFrameOptions,omitempty" tf:"x_frame_options,omitempty"`

	// Prevent pages from appearing in search engines.
	XRobotsTag *string `json:"xRobotsTag,omitempty" tf:"x_robots_tag,omitempty"`

	// This header configures the Cross-site scripting (XSS) filter in your browser.
	XXSSProtection *string `json:"xXssProtection,omitempty" tf:"x_xss_protection,omitempty"`
}

func (*HeadersObservation) DeepCopy

func (in *HeadersObservation) DeepCopy() *HeadersObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HeadersObservation.

func (*HeadersObservation) DeepCopyInto

func (in *HeadersObservation) DeepCopyInto(out *HeadersObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HeadersParameters

type HeadersParameters struct {

	// Sets the Content Security Policy, which can be used for prevent pages from being included by non-origin iframes. More information can be found in the W3C-CSP Abstract.
	// +kubebuilder:validation:Optional
	ContentSecurityPolicy *string `json:"contentSecurityPolicy,omitempty" tf:"content_security_policy,omitempty"`

	// Used for testing Content Security Policies.
	// +kubebuilder:validation:Optional
	ContentSecurityPolicyReportOnly *string `json:"contentSecurityPolicyReportOnly,omitempty" tf:"content_security_policy_report_only,omitempty"`

	// The Referrer-Policy HTTP header controls how much referrer information (sent with the Referer header) should be included with requests.
	// +kubebuilder:validation:Optional
	ReferrerPolicy *string `json:"referrerPolicy,omitempty" tf:"referrer_policy,omitempty"`

	// The Script-Transport-Security HTTP header tells browsers to always use HTTPS.
	// +kubebuilder:validation:Optional
	StrictTransportSecurity *string `json:"strictTransportSecurity,omitempty" tf:"strict_transport_security,omitempty"`

	// Sets the X-Content-Type-Options, which can be used for prevent MIME-sniffing a response away from the declared content-type
	// +kubebuilder:validation:Optional
	XContentTypeOptions *string `json:"xContentTypeOptions,omitempty" tf:"x_content_type_options,omitempty"`

	// Sets the x-frame-option, which can be used to prevent pages from being included by non-origin iframes. More information can be found in the RFC7034
	// +kubebuilder:validation:Optional
	XFrameOptions *string `json:"xFrameOptions,omitempty" tf:"x_frame_options,omitempty"`

	// Prevent pages from appearing in search engines.
	// +kubebuilder:validation:Optional
	XRobotsTag *string `json:"xRobotsTag,omitempty" tf:"x_robots_tag,omitempty"`

	// This header configures the Cross-site scripting (XSS) filter in your browser.
	// +kubebuilder:validation:Optional
	XXSSProtection *string `json:"xXssProtection,omitempty" tf:"x_xss_protection,omitempty"`
}

func (*HeadersParameters) DeepCopy

func (in *HeadersParameters) DeepCopy() *HeadersParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HeadersParameters.

func (*HeadersParameters) DeepCopyInto

func (in *HeadersParameters) DeepCopyInto(out *HeadersParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InitialPasswordInitParameters

type InitialPasswordInitParameters struct {

	// If set to true, the initial password is set up for renewal on first use. Default to false.
	Temporary *bool `json:"temporary,omitempty" tf:"temporary,omitempty"`

	// The initial password.
	ValueSecretRef v1.SecretKeySelector `json:"valueSecretRef" tf:"-"`
}

func (*InitialPasswordInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InitialPasswordInitParameters.

func (*InitialPasswordInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InitialPasswordObservation

type InitialPasswordObservation struct {

	// If set to true, the initial password is set up for renewal on first use. Default to false.
	Temporary *bool `json:"temporary,omitempty" tf:"temporary,omitempty"`
}

func (*InitialPasswordObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InitialPasswordObservation.

func (*InitialPasswordObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InitialPasswordParameters

type InitialPasswordParameters struct {

	// If set to true, the initial password is set up for renewal on first use. Default to false.
	// +kubebuilder:validation:Optional
	Temporary *bool `json:"temporary,omitempty" tf:"temporary,omitempty"`

	// The initial password.
	// +kubebuilder:validation:Optional
	ValueSecretRef v1.SecretKeySelector `json:"valueSecretRef" tf:"-"`
}

func (*InitialPasswordParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InitialPasswordParameters.

func (*InitialPasswordParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InternationalizationInitParameters

type InternationalizationInitParameters struct {

	// The locale to use by default. This locale code must be present within the supported_locales list.
	DefaultLocale *string `json:"defaultLocale,omitempty" tf:"default_locale,omitempty"`

	// A list of ISO 639-1 locale codes that the realm should support.
	// +listType=set
	SupportedLocales []*string `json:"supportedLocales,omitempty" tf:"supported_locales,omitempty"`
}

func (*InternationalizationInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InternationalizationInitParameters.

func (*InternationalizationInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InternationalizationObservation

type InternationalizationObservation struct {

	// The locale to use by default. This locale code must be present within the supported_locales list.
	DefaultLocale *string `json:"defaultLocale,omitempty" tf:"default_locale,omitempty"`

	// A list of ISO 639-1 locale codes that the realm should support.
	// +listType=set
	SupportedLocales []*string `json:"supportedLocales,omitempty" tf:"supported_locales,omitempty"`
}

func (*InternationalizationObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InternationalizationObservation.

func (*InternationalizationObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type InternationalizationParameters

type InternationalizationParameters struct {

	// The locale to use by default. This locale code must be present within the supported_locales list.
	// +kubebuilder:validation:Optional
	DefaultLocale *string `json:"defaultLocale" tf:"default_locale,omitempty"`

	// A list of ISO 639-1 locale codes that the realm should support.
	// +kubebuilder:validation:Optional
	// +listType=set
	SupportedLocales []*string `json:"supportedLocales" tf:"supported_locales,omitempty"`
}

func (*InternationalizationParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InternationalizationParameters.

func (*InternationalizationParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OtpPolicyInitParameters

type OtpPolicyInitParameters struct {

	// What hashing algorithm should be used to generate the OTP, Valid options are HmacSHA1,HmacSHA256 and HmacSHA512. Defaults to HmacSHA1.
	// What hashing algorithm should be used to generate the OTP.
	Algorithm *string `json:"algorithm,omitempty" tf:"algorithm,omitempty"`

	// How many digits the OTP have. Defaults to 6.
	Digits *float64 `json:"digits,omitempty" tf:"digits,omitempty"`

	// What should the initial counter value be. Defaults to 2.
	InitialCounter *float64 `json:"initialCounter,omitempty" tf:"initial_counter,omitempty"`

	// How far ahead should the server look just in case the token generator and server are out of time sync or counter sync. Defaults to 1.
	LookAheadWindow *float64 `json:"lookAheadWindow,omitempty" tf:"look_ahead_window,omitempty"`

	// How many seconds should an OTP token be valid. Defaults to 30.
	Period *float64 `json:"period,omitempty" tf:"period,omitempty"`

	// One Time Password Type, supported Values are totp for Time-Based One Time Password and hotp for Counter Based. Defaults to totp.
	// OTP Type, totp for Time-Based One Time Password or hotp for counter base one time password
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*OtpPolicyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OtpPolicyInitParameters.

func (*OtpPolicyInitParameters) DeepCopyInto

func (in *OtpPolicyInitParameters) DeepCopyInto(out *OtpPolicyInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OtpPolicyObservation

type OtpPolicyObservation struct {

	// What hashing algorithm should be used to generate the OTP, Valid options are HmacSHA1,HmacSHA256 and HmacSHA512. Defaults to HmacSHA1.
	// What hashing algorithm should be used to generate the OTP.
	Algorithm *string `json:"algorithm,omitempty" tf:"algorithm,omitempty"`

	// How many digits the OTP have. Defaults to 6.
	Digits *float64 `json:"digits,omitempty" tf:"digits,omitempty"`

	// What should the initial counter value be. Defaults to 2.
	InitialCounter *float64 `json:"initialCounter,omitempty" tf:"initial_counter,omitempty"`

	// How far ahead should the server look just in case the token generator and server are out of time sync or counter sync. Defaults to 1.
	LookAheadWindow *float64 `json:"lookAheadWindow,omitempty" tf:"look_ahead_window,omitempty"`

	// How many seconds should an OTP token be valid. Defaults to 30.
	Period *float64 `json:"period,omitempty" tf:"period,omitempty"`

	// One Time Password Type, supported Values are totp for Time-Based One Time Password and hotp for Counter Based. Defaults to totp.
	// OTP Type, totp for Time-Based One Time Password or hotp for counter base one time password
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*OtpPolicyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OtpPolicyObservation.

func (*OtpPolicyObservation) DeepCopyInto

func (in *OtpPolicyObservation) DeepCopyInto(out *OtpPolicyObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type OtpPolicyParameters

type OtpPolicyParameters struct {

	// What hashing algorithm should be used to generate the OTP, Valid options are HmacSHA1,HmacSHA256 and HmacSHA512. Defaults to HmacSHA1.
	// What hashing algorithm should be used to generate the OTP.
	// +kubebuilder:validation:Optional
	Algorithm *string `json:"algorithm,omitempty" tf:"algorithm,omitempty"`

	// How many digits the OTP have. Defaults to 6.
	// +kubebuilder:validation:Optional
	Digits *float64 `json:"digits,omitempty" tf:"digits,omitempty"`

	// What should the initial counter value be. Defaults to 2.
	// +kubebuilder:validation:Optional
	InitialCounter *float64 `json:"initialCounter,omitempty" tf:"initial_counter,omitempty"`

	// How far ahead should the server look just in case the token generator and server are out of time sync or counter sync. Defaults to 1.
	// +kubebuilder:validation:Optional
	LookAheadWindow *float64 `json:"lookAheadWindow,omitempty" tf:"look_ahead_window,omitempty"`

	// How many seconds should an OTP token be valid. Defaults to 30.
	// +kubebuilder:validation:Optional
	Period *float64 `json:"period,omitempty" tf:"period,omitempty"`

	// One Time Password Type, supported Values are totp for Time-Based One Time Password and hotp for Counter Based. Defaults to totp.
	// OTP Type, totp for Time-Based One Time Password or hotp for counter base one time password
	// +kubebuilder:validation:Optional
	Type *string `json:"type,omitempty" tf:"type,omitempty"`
}

func (*OtpPolicyParameters) DeepCopy

func (in *OtpPolicyParameters) DeepCopy() *OtpPolicyParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OtpPolicyParameters.

func (*OtpPolicyParameters) DeepCopyInto

func (in *OtpPolicyParameters) DeepCopyInto(out *OtpPolicyParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Realm

type Realm struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.realm) || (has(self.initProvider) && has(self.initProvider.realm))",message="spec.forProvider.realm is a required parameter"
	Spec   RealmSpec   `json:"spec"`
	Status RealmStatus `json:"status,omitempty"`
}

Realm is the Schema for the Realms API. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,keycloak}

func (*Realm) DeepCopy

func (in *Realm) DeepCopy() *Realm

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Realm.

func (*Realm) DeepCopyInto

func (in *Realm) DeepCopyInto(out *Realm)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Realm) DeepCopyObject

func (in *Realm) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Realm) GetCondition

func (mg *Realm) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this Realm.

func (*Realm) GetConnectionDetailsMapping

func (tr *Realm) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this Realm

func (*Realm) GetDeletionPolicy

func (mg *Realm) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this Realm.

func (*Realm) GetID

func (tr *Realm) GetID() string

GetID returns ID of underlying Terraform resource of this Realm

func (*Realm) GetInitParameters

func (tr *Realm) GetInitParameters() (map[string]any, error)

GetInitParameters of this Realm

func (*Realm) GetManagementPolicies

func (mg *Realm) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this Realm.

func (*Realm) GetMergedParameters

func (tr *Realm) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this Realm

func (*Realm) GetObservation

func (tr *Realm) GetObservation() (map[string]any, error)

GetObservation of this Realm

func (*Realm) GetParameters

func (tr *Realm) GetParameters() (map[string]any, error)

GetParameters of this Realm

func (*Realm) GetProviderConfigReference

func (mg *Realm) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this Realm.

func (*Realm) GetPublishConnectionDetailsTo

func (mg *Realm) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this Realm.

func (*Realm) GetTerraformResourceType

func (mg *Realm) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this Realm

func (*Realm) GetTerraformSchemaVersion

func (tr *Realm) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*Realm) GetWriteConnectionSecretToReference

func (mg *Realm) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this Realm.

func (*Realm) Hub

func (tr *Realm) Hub()

Hub marks this type as a conversion hub.

func (*Realm) LateInitialize

func (tr *Realm) LateInitialize(attrs []byte) (bool, error)

LateInitialize this Realm using its observed tfState. returns True if there are any spec changes for the resource.

func (*Realm) SetConditions

func (mg *Realm) SetConditions(c ...xpv1.Condition)

SetConditions of this Realm.

func (*Realm) SetDeletionPolicy

func (mg *Realm) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this Realm.

func (*Realm) SetManagementPolicies

func (mg *Realm) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this Realm.

func (*Realm) SetObservation

func (tr *Realm) SetObservation(obs map[string]any) error

SetObservation for this Realm

func (*Realm) SetParameters

func (tr *Realm) SetParameters(params map[string]any) error

SetParameters for this Realm

func (*Realm) SetProviderConfigReference

func (mg *Realm) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this Realm.

func (*Realm) SetPublishConnectionDetailsTo

func (mg *Realm) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this Realm.

func (*Realm) SetWriteConnectionSecretToReference

func (mg *Realm) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this Realm.

type RealmInitParameters

type RealmInitParameters struct {

	// The maximum amount of time a client has to finish the authorization code flow.
	AccessCodeLifespan *string `json:"accessCodeLifespan,omitempty" tf:"access_code_lifespan,omitempty"`

	// The maximum amount of time a user is permitted to stay on the login page before the authentication process must be restarted.
	AccessCodeLifespanLogin *string `json:"accessCodeLifespanLogin,omitempty" tf:"access_code_lifespan_login,omitempty"`

	// The maximum amount of time a user has to complete login related actions, such as updating a password.
	AccessCodeLifespanUserAction *string `json:"accessCodeLifespanUserAction,omitempty" tf:"access_code_lifespan_user_action,omitempty"`

	// The amount of time an access token can be used before it expires.
	AccessTokenLifespan *string `json:"accessTokenLifespan,omitempty" tf:"access_token_lifespan,omitempty"`

	// The amount of time an access token issued with the OpenID Connect Implicit Flow can be used before it expires.
	AccessTokenLifespanForImplicitFlow *string `json:"accessTokenLifespanForImplicitFlow,omitempty" tf:"access_token_lifespan_for_implicit_flow,omitempty"`

	// Used for account management pages.
	AccountTheme *string `json:"accountTheme,omitempty" tf:"account_theme,omitempty"`

	// The maximum time a user has to use an admin-generated permit before it expires.
	ActionTokenGeneratedByAdminLifespan *string `json:"actionTokenGeneratedByAdminLifespan,omitempty" tf:"action_token_generated_by_admin_lifespan,omitempty"`

	// The maximum time a user has to use a user-generated permit before it expires.
	ActionTokenGeneratedByUserLifespan *string `json:"actionTokenGeneratedByUserLifespan,omitempty" tf:"action_token_generated_by_user_lifespan,omitempty"`

	// Used for the admin console.
	AdminTheme *string `json:"adminTheme,omitempty" tf:"admin_theme,omitempty"`

	// A map of custom attributes to add to the realm.
	// +mapType=granular
	Attributes map[string]*string `json:"attributes,omitempty" tf:"attributes,omitempty"`

	// The desired flow for browser authentication. Defaults to browser.
	// Which flow should be used for BrowserFlow
	BrowserFlow *string `json:"browserFlow,omitempty" tf:"browser_flow,omitempty"`

	// The desired flow for client authentication. Defaults to clients.
	// Which flow should be used for ClientAuthenticationFlow
	ClientAuthenticationFlow *string `json:"clientAuthenticationFlow,omitempty" tf:"client_authentication_flow,omitempty"`

	// The amount of time a session can be idle before it expires. Users can override it for individual clients.
	ClientSessionIdleTimeout *string `json:"clientSessionIdleTimeout,omitempty" tf:"client_session_idle_timeout,omitempty"`

	// The maximum amount of time before a session expires regardless of activity. Users can override it for individual clients.
	ClientSessionMaxLifespan *string `json:"clientSessionMaxLifespan,omitempty" tf:"client_session_max_lifespan,omitempty"`

	// A list of default default client scopes to be used for client definitions. Defaults to [] or keycloak's built-in default default client-scopes.
	// +listType=set
	DefaultDefaultClientScopes []*string `json:"defaultDefaultClientScopes,omitempty" tf:"default_default_client_scopes,omitempty"`

	// A list of default optional client scopes to be used for client definitions. Defaults to [] or keycloak's built-in default optional client-scopes.
	// +listType=set
	DefaultOptionalClientScopes []*string `json:"defaultOptionalClientScopes,omitempty" tf:"default_optional_client_scopes,omitempty"`

	// Default algorithm used to sign tokens for the realm.
	DefaultSignatureAlgorithm *string `json:"defaultSignatureAlgorithm,omitempty" tf:"default_signature_algorithm,omitempty"`

	// The desired flow for direct access authentication. Defaults to direct grant.
	// Which flow should be used for DirectGrantFlow
	DirectGrantFlow *string `json:"directGrantFlow,omitempty" tf:"direct_grant_flow,omitempty"`

	// The display name for the realm that is shown when logging in to the admin console.
	DisplayName *string `json:"displayName,omitempty" tf:"display_name,omitempty"`

	// The display name for the realm that is rendered as HTML on the screen when logging in to the admin console.
	DisplayNameHTML *string `json:"displayNameHtml,omitempty" tf:"display_name_html,omitempty"`

	// The desired flow for Docker authentication. Defaults to docker auth.
	// Which flow should be used for DockerAuthenticationFlow
	DockerAuthenticationFlow *string `json:"dockerAuthenticationFlow,omitempty" tf:"docker_authentication_flow,omitempty"`

	// When true, multiple users will be allowed to have the same email address. This argument must be set to false if login_with_email_allowed is set to true.
	DuplicateEmailsAllowed *bool `json:"duplicateEmailsAllowed,omitempty" tf:"duplicate_emails_allowed,omitempty"`

	// When true, the username field is editable.
	EditUsernameAllowed *bool `json:"editUsernameAllowed,omitempty" tf:"edit_username_allowed,omitempty"`

	// Used for emails that are sent by Keycloak.
	EmailTheme *string `json:"emailTheme,omitempty" tf:"email_theme,omitempty"`

	// When false, users and clients will not be able to access this realm. Defaults to true.
	Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"`

	// When specified, this will be used as the realm's internal ID within Keycloak. When not specified, the realm's internal ID will be set to the realm's name.
	InternalID *string `json:"internalId,omitempty" tf:"internal_id,omitempty"`

	Internationalization []InternationalizationInitParameters `json:"internationalization,omitempty" tf:"internationalization,omitempty"`

	// Used for the login, forgot password, and registration pages.
	LoginTheme *string `json:"loginTheme,omitempty" tf:"login_theme,omitempty"`

	// When true, users may log in with their email address.
	LoginWithEmailAllowed *bool `json:"loginWithEmailAllowed,omitempty" tf:"login_with_email_allowed,omitempty"`

	// The maximum amount of time a client has to finish the device code flow before it expires.
	Oauth2DeviceCodeLifespan *string `json:"oauth2DeviceCodeLifespan,omitempty" tf:"oauth2_device_code_lifespan,omitempty"`

	// The minimum amount of time in seconds that the client should wait between polling requests to the token endpoint.
	Oauth2DevicePollingInterval *float64 `json:"oauth2DevicePollingInterval,omitempty" tf:"oauth2_device_polling_interval,omitempty"`

	// The amount of time an offline session can be idle before it expires.
	OfflineSessionIdleTimeout *string `json:"offlineSessionIdleTimeout,omitempty" tf:"offline_session_idle_timeout,omitempty"`

	// The maximum amount of time before an offline session expires regardless of activity.
	OfflineSessionMaxLifespan *string `json:"offlineSessionMaxLifespan,omitempty" tf:"offline_session_max_lifespan,omitempty"`

	// Enable offline_session_max_lifespan.
	OfflineSessionMaxLifespanEnabled *bool `json:"offlineSessionMaxLifespanEnabled,omitempty" tf:"offline_session_max_lifespan_enabled,omitempty"`

	OtpPolicy []OtpPolicyInitParameters `json:"otpPolicy,omitempty" tf:"otp_policy,omitempty"`

	// The password policy for users within the realm.
	// String that represents the passwordPolicies that are in place. Each policy is separated with " and ". Supported policies can be found in the server-info providers page. example: "upperCase(1) and length(8) and forceExpiredPasswordChange(365) and notUsername(undefined)"
	PasswordPolicy *string `json:"passwordPolicy,omitempty" tf:"password_policy,omitempty"`

	// The name of the realm. This is unique across Keycloak. This will also be used as the realm's internal ID within Keycloak.
	Realm *string `json:"realm,omitempty" tf:"realm,omitempty"`

	// Maximum number of times a refresh token can be reused before they are revoked. If unspecified and 'revoke_refresh_token' is enabled the default value is 0 and refresh tokens can not be reused.
	RefreshTokenMaxReuse *float64 `json:"refreshTokenMaxReuse,omitempty" tf:"refresh_token_max_reuse,omitempty"`

	// When true, user registration will be enabled, and a link for registration will be displayed on the login page.
	RegistrationAllowed *bool `json:"registrationAllowed,omitempty" tf:"registration_allowed,omitempty"`

	// When true, the user's email will be used as their username during registration.
	RegistrationEmailAsUsername *bool `json:"registrationEmailAsUsername,omitempty" tf:"registration_email_as_username,omitempty"`

	// The desired flow for user registration. Defaults to registration.
	// Which flow should be used for RegistrationFlow
	RegistrationFlow *string `json:"registrationFlow,omitempty" tf:"registration_flow,omitempty"`

	// When true, a "remember me" checkbox will be displayed on the login page, and the user's session will not expire between browser restarts.
	RememberMe *bool `json:"rememberMe,omitempty" tf:"remember_me,omitempty"`

	// The desired flow to use when a user attempts to reset their credentials. Defaults to reset credentials.
	// Which flow should be used for ResetCredentialsFlow
	ResetCredentialsFlow *string `json:"resetCredentialsFlow,omitempty" tf:"reset_credentials_flow,omitempty"`

	// When true, a "forgot password" link will be displayed on the login page.
	ResetPasswordAllowed *bool `json:"resetPasswordAllowed,omitempty" tf:"reset_password_allowed,omitempty"`

	// If enabled a refresh token can only be used number of times specified in 'refresh_token_max_reuse' before they are revoked. If unspecified, refresh tokens can be reused.
	RevokeRefreshToken *bool `json:"revokeRefreshToken,omitempty" tf:"revoke_refresh_token,omitempty"`

	SMTPServer []SMTPServerInitParameters `json:"smtpServer,omitempty" tf:"smtp_server,omitempty"`

	// Can be one of following values: 'none, 'external' or 'all'
	// SSL Required: Values can be 'none', 'external' or 'all'.
	SSLRequired *string `json:"sslRequired,omitempty" tf:"ssl_required,omitempty"`

	SecurityDefenses []SecurityDefensesInitParameters `json:"securityDefenses,omitempty" tf:"security_defenses,omitempty"`

	// The amount of time a session can be idle before it expires.
	SsoSessionIdleTimeout *string `json:"ssoSessionIdleTimeout,omitempty" tf:"sso_session_idle_timeout,omitempty"`

	// Similar to sso_session_idle_timeout, but used when a user clicks "Remember Me". If not set, Keycloak will default to the value of sso_session_idle_timeout.
	SsoSessionIdleTimeoutRememberMe *string `json:"ssoSessionIdleTimeoutRememberMe,omitempty" tf:"sso_session_idle_timeout_remember_me,omitempty"`

	// The maximum amount of time before a session expires regardless of activity.
	SsoSessionMaxLifespan *string `json:"ssoSessionMaxLifespan,omitempty" tf:"sso_session_max_lifespan,omitempty"`

	// Similar to sso_session_max_lifespan, but used when a user clicks "Remember Me". If not set, Keycloak will default to the value of sso_session_max_lifespan.
	SsoSessionMaxLifespanRememberMe *string `json:"ssoSessionMaxLifespanRememberMe,omitempty" tf:"sso_session_max_lifespan_remember_me,omitempty"`

	// When true, users are allowed to manage their own resources. Defaults to false.
	UserManagedAccess *bool `json:"userManagedAccess,omitempty" tf:"user_managed_access,omitempty"`

	// When true, users are required to verify their email address after registration and after email address changes.
	VerifyEmail *bool `json:"verifyEmail,omitempty" tf:"verify_email,omitempty"`

	// Configuration for WebAuthn Passwordless Policy authentication.
	WebAuthnPasswordlessPolicy []WebAuthnPasswordlessPolicyInitParameters `json:"webAuthnPasswordlessPolicy,omitempty" tf:"web_authn_passwordless_policy,omitempty"`

	// Configuration for WebAuthn Policy authentication.
	WebAuthnPolicy []WebAuthnPolicyInitParameters `json:"webAuthnPolicy,omitempty" tf:"web_authn_policy,omitempty"`
}

func (*RealmInitParameters) DeepCopy

func (in *RealmInitParameters) DeepCopy() *RealmInitParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RealmInitParameters.

func (*RealmInitParameters) DeepCopyInto

func (in *RealmInitParameters) DeepCopyInto(out *RealmInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RealmList

type RealmList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Realm `json:"items"`
}

RealmList contains a list of Realms

func (*RealmList) DeepCopy

func (in *RealmList) DeepCopy() *RealmList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RealmList.

func (*RealmList) DeepCopyInto

func (in *RealmList) DeepCopyInto(out *RealmList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RealmList) DeepCopyObject

func (in *RealmList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*RealmList) GetItems

func (l *RealmList) GetItems() []resource.Managed

GetItems of this RealmList.

type RealmObservation

type RealmObservation struct {

	// The maximum amount of time a client has to finish the authorization code flow.
	AccessCodeLifespan *string `json:"accessCodeLifespan,omitempty" tf:"access_code_lifespan,omitempty"`

	// The maximum amount of time a user is permitted to stay on the login page before the authentication process must be restarted.
	AccessCodeLifespanLogin *string `json:"accessCodeLifespanLogin,omitempty" tf:"access_code_lifespan_login,omitempty"`

	// The maximum amount of time a user has to complete login related actions, such as updating a password.
	AccessCodeLifespanUserAction *string `json:"accessCodeLifespanUserAction,omitempty" tf:"access_code_lifespan_user_action,omitempty"`

	// The amount of time an access token can be used before it expires.
	AccessTokenLifespan *string `json:"accessTokenLifespan,omitempty" tf:"access_token_lifespan,omitempty"`

	// The amount of time an access token issued with the OpenID Connect Implicit Flow can be used before it expires.
	AccessTokenLifespanForImplicitFlow *string `json:"accessTokenLifespanForImplicitFlow,omitempty" tf:"access_token_lifespan_for_implicit_flow,omitempty"`

	// Used for account management pages.
	AccountTheme *string `json:"accountTheme,omitempty" tf:"account_theme,omitempty"`

	// The maximum time a user has to use an admin-generated permit before it expires.
	ActionTokenGeneratedByAdminLifespan *string `json:"actionTokenGeneratedByAdminLifespan,omitempty" tf:"action_token_generated_by_admin_lifespan,omitempty"`

	// The maximum time a user has to use a user-generated permit before it expires.
	ActionTokenGeneratedByUserLifespan *string `json:"actionTokenGeneratedByUserLifespan,omitempty" tf:"action_token_generated_by_user_lifespan,omitempty"`

	// Used for the admin console.
	AdminTheme *string `json:"adminTheme,omitempty" tf:"admin_theme,omitempty"`

	// A map of custom attributes to add to the realm.
	// +mapType=granular
	Attributes map[string]*string `json:"attributes,omitempty" tf:"attributes,omitempty"`

	// The desired flow for browser authentication. Defaults to browser.
	// Which flow should be used for BrowserFlow
	BrowserFlow *string `json:"browserFlow,omitempty" tf:"browser_flow,omitempty"`

	// The desired flow for client authentication. Defaults to clients.
	// Which flow should be used for ClientAuthenticationFlow
	ClientAuthenticationFlow *string `json:"clientAuthenticationFlow,omitempty" tf:"client_authentication_flow,omitempty"`

	// The amount of time a session can be idle before it expires. Users can override it for individual clients.
	ClientSessionIdleTimeout *string `json:"clientSessionIdleTimeout,omitempty" tf:"client_session_idle_timeout,omitempty"`

	// The maximum amount of time before a session expires regardless of activity. Users can override it for individual clients.
	ClientSessionMaxLifespan *string `json:"clientSessionMaxLifespan,omitempty" tf:"client_session_max_lifespan,omitempty"`

	// A list of default default client scopes to be used for client definitions. Defaults to [] or keycloak's built-in default default client-scopes.
	// +listType=set
	DefaultDefaultClientScopes []*string `json:"defaultDefaultClientScopes,omitempty" tf:"default_default_client_scopes,omitempty"`

	// A list of default optional client scopes to be used for client definitions. Defaults to [] or keycloak's built-in default optional client-scopes.
	// +listType=set
	DefaultOptionalClientScopes []*string `json:"defaultOptionalClientScopes,omitempty" tf:"default_optional_client_scopes,omitempty"`

	// Default algorithm used to sign tokens for the realm.
	DefaultSignatureAlgorithm *string `json:"defaultSignatureAlgorithm,omitempty" tf:"default_signature_algorithm,omitempty"`

	// The desired flow for direct access authentication. Defaults to direct grant.
	// Which flow should be used for DirectGrantFlow
	DirectGrantFlow *string `json:"directGrantFlow,omitempty" tf:"direct_grant_flow,omitempty"`

	// The display name for the realm that is shown when logging in to the admin console.
	DisplayName *string `json:"displayName,omitempty" tf:"display_name,omitempty"`

	// The display name for the realm that is rendered as HTML on the screen when logging in to the admin console.
	DisplayNameHTML *string `json:"displayNameHtml,omitempty" tf:"display_name_html,omitempty"`

	// The desired flow for Docker authentication. Defaults to docker auth.
	// Which flow should be used for DockerAuthenticationFlow
	DockerAuthenticationFlow *string `json:"dockerAuthenticationFlow,omitempty" tf:"docker_authentication_flow,omitempty"`

	// When true, multiple users will be allowed to have the same email address. This argument must be set to false if login_with_email_allowed is set to true.
	DuplicateEmailsAllowed *bool `json:"duplicateEmailsAllowed,omitempty" tf:"duplicate_emails_allowed,omitempty"`

	// When true, the username field is editable.
	EditUsernameAllowed *bool `json:"editUsernameAllowed,omitempty" tf:"edit_username_allowed,omitempty"`

	// Used for emails that are sent by Keycloak.
	EmailTheme *string `json:"emailTheme,omitempty" tf:"email_theme,omitempty"`

	// When false, users and clients will not be able to access this realm. Defaults to true.
	Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"`

	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// When specified, this will be used as the realm's internal ID within Keycloak. When not specified, the realm's internal ID will be set to the realm's name.
	InternalID *string `json:"internalId,omitempty" tf:"internal_id,omitempty"`

	Internationalization []InternationalizationObservation `json:"internationalization,omitempty" tf:"internationalization,omitempty"`

	// Used for the login, forgot password, and registration pages.
	LoginTheme *string `json:"loginTheme,omitempty" tf:"login_theme,omitempty"`

	// When true, users may log in with their email address.
	LoginWithEmailAllowed *bool `json:"loginWithEmailAllowed,omitempty" tf:"login_with_email_allowed,omitempty"`

	// The maximum amount of time a client has to finish the device code flow before it expires.
	Oauth2DeviceCodeLifespan *string `json:"oauth2DeviceCodeLifespan,omitempty" tf:"oauth2_device_code_lifespan,omitempty"`

	// The minimum amount of time in seconds that the client should wait between polling requests to the token endpoint.
	Oauth2DevicePollingInterval *float64 `json:"oauth2DevicePollingInterval,omitempty" tf:"oauth2_device_polling_interval,omitempty"`

	// The amount of time an offline session can be idle before it expires.
	OfflineSessionIdleTimeout *string `json:"offlineSessionIdleTimeout,omitempty" tf:"offline_session_idle_timeout,omitempty"`

	// The maximum amount of time before an offline session expires regardless of activity.
	OfflineSessionMaxLifespan *string `json:"offlineSessionMaxLifespan,omitempty" tf:"offline_session_max_lifespan,omitempty"`

	// Enable offline_session_max_lifespan.
	OfflineSessionMaxLifespanEnabled *bool `json:"offlineSessionMaxLifespanEnabled,omitempty" tf:"offline_session_max_lifespan_enabled,omitempty"`

	OtpPolicy []OtpPolicyObservation `json:"otpPolicy,omitempty" tf:"otp_policy,omitempty"`

	// The password policy for users within the realm.
	// String that represents the passwordPolicies that are in place. Each policy is separated with " and ". Supported policies can be found in the server-info providers page. example: "upperCase(1) and length(8) and forceExpiredPasswordChange(365) and notUsername(undefined)"
	PasswordPolicy *string `json:"passwordPolicy,omitempty" tf:"password_policy,omitempty"`

	// The name of the realm. This is unique across Keycloak. This will also be used as the realm's internal ID within Keycloak.
	Realm *string `json:"realm,omitempty" tf:"realm,omitempty"`

	// Maximum number of times a refresh token can be reused before they are revoked. If unspecified and 'revoke_refresh_token' is enabled the default value is 0 and refresh tokens can not be reused.
	RefreshTokenMaxReuse *float64 `json:"refreshTokenMaxReuse,omitempty" tf:"refresh_token_max_reuse,omitempty"`

	// When true, user registration will be enabled, and a link for registration will be displayed on the login page.
	RegistrationAllowed *bool `json:"registrationAllowed,omitempty" tf:"registration_allowed,omitempty"`

	// When true, the user's email will be used as their username during registration.
	RegistrationEmailAsUsername *bool `json:"registrationEmailAsUsername,omitempty" tf:"registration_email_as_username,omitempty"`

	// The desired flow for user registration. Defaults to registration.
	// Which flow should be used for RegistrationFlow
	RegistrationFlow *string `json:"registrationFlow,omitempty" tf:"registration_flow,omitempty"`

	// When true, a "remember me" checkbox will be displayed on the login page, and the user's session will not expire between browser restarts.
	RememberMe *bool `json:"rememberMe,omitempty" tf:"remember_me,omitempty"`

	// The desired flow to use when a user attempts to reset their credentials. Defaults to reset credentials.
	// Which flow should be used for ResetCredentialsFlow
	ResetCredentialsFlow *string `json:"resetCredentialsFlow,omitempty" tf:"reset_credentials_flow,omitempty"`

	// When true, a "forgot password" link will be displayed on the login page.
	ResetPasswordAllowed *bool `json:"resetPasswordAllowed,omitempty" tf:"reset_password_allowed,omitempty"`

	// If enabled a refresh token can only be used number of times specified in 'refresh_token_max_reuse' before they are revoked. If unspecified, refresh tokens can be reused.
	RevokeRefreshToken *bool `json:"revokeRefreshToken,omitempty" tf:"revoke_refresh_token,omitempty"`

	SMTPServer []SMTPServerObservation `json:"smtpServer,omitempty" tf:"smtp_server,omitempty"`

	// Can be one of following values: 'none, 'external' or 'all'
	// SSL Required: Values can be 'none', 'external' or 'all'.
	SSLRequired *string `json:"sslRequired,omitempty" tf:"ssl_required,omitempty"`

	SecurityDefenses []SecurityDefensesObservation `json:"securityDefenses,omitempty" tf:"security_defenses,omitempty"`

	// The amount of time a session can be idle before it expires.
	SsoSessionIdleTimeout *string `json:"ssoSessionIdleTimeout,omitempty" tf:"sso_session_idle_timeout,omitempty"`

	// Similar to sso_session_idle_timeout, but used when a user clicks "Remember Me". If not set, Keycloak will default to the value of sso_session_idle_timeout.
	SsoSessionIdleTimeoutRememberMe *string `json:"ssoSessionIdleTimeoutRememberMe,omitempty" tf:"sso_session_idle_timeout_remember_me,omitempty"`

	// The maximum amount of time before a session expires regardless of activity.
	SsoSessionMaxLifespan *string `json:"ssoSessionMaxLifespan,omitempty" tf:"sso_session_max_lifespan,omitempty"`

	// Similar to sso_session_max_lifespan, but used when a user clicks "Remember Me". If not set, Keycloak will default to the value of sso_session_max_lifespan.
	SsoSessionMaxLifespanRememberMe *string `json:"ssoSessionMaxLifespanRememberMe,omitempty" tf:"sso_session_max_lifespan_remember_me,omitempty"`

	// When true, users are allowed to manage their own resources. Defaults to false.
	UserManagedAccess *bool `json:"userManagedAccess,omitempty" tf:"user_managed_access,omitempty"`

	// When true, users are required to verify their email address after registration and after email address changes.
	VerifyEmail *bool `json:"verifyEmail,omitempty" tf:"verify_email,omitempty"`

	// Configuration for WebAuthn Passwordless Policy authentication.
	WebAuthnPasswordlessPolicy []WebAuthnPasswordlessPolicyObservation `json:"webAuthnPasswordlessPolicy,omitempty" tf:"web_authn_passwordless_policy,omitempty"`

	// Configuration for WebAuthn Policy authentication.
	WebAuthnPolicy []WebAuthnPolicyObservation `json:"webAuthnPolicy,omitempty" tf:"web_authn_policy,omitempty"`
}

func (*RealmObservation) DeepCopy

func (in *RealmObservation) DeepCopy() *RealmObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RealmObservation.

func (*RealmObservation) DeepCopyInto

func (in *RealmObservation) DeepCopyInto(out *RealmObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RealmParameters

type RealmParameters struct {

	// The maximum amount of time a client has to finish the authorization code flow.
	// +kubebuilder:validation:Optional
	AccessCodeLifespan *string `json:"accessCodeLifespan,omitempty" tf:"access_code_lifespan,omitempty"`

	// The maximum amount of time a user is permitted to stay on the login page before the authentication process must be restarted.
	// +kubebuilder:validation:Optional
	AccessCodeLifespanLogin *string `json:"accessCodeLifespanLogin,omitempty" tf:"access_code_lifespan_login,omitempty"`

	// The maximum amount of time a user has to complete login related actions, such as updating a password.
	// +kubebuilder:validation:Optional
	AccessCodeLifespanUserAction *string `json:"accessCodeLifespanUserAction,omitempty" tf:"access_code_lifespan_user_action,omitempty"`

	// The amount of time an access token can be used before it expires.
	// +kubebuilder:validation:Optional
	AccessTokenLifespan *string `json:"accessTokenLifespan,omitempty" tf:"access_token_lifespan,omitempty"`

	// The amount of time an access token issued with the OpenID Connect Implicit Flow can be used before it expires.
	// +kubebuilder:validation:Optional
	AccessTokenLifespanForImplicitFlow *string `json:"accessTokenLifespanForImplicitFlow,omitempty" tf:"access_token_lifespan_for_implicit_flow,omitempty"`

	// Used for account management pages.
	// +kubebuilder:validation:Optional
	AccountTheme *string `json:"accountTheme,omitempty" tf:"account_theme,omitempty"`

	// The maximum time a user has to use an admin-generated permit before it expires.
	// +kubebuilder:validation:Optional
	ActionTokenGeneratedByAdminLifespan *string `json:"actionTokenGeneratedByAdminLifespan,omitempty" tf:"action_token_generated_by_admin_lifespan,omitempty"`

	// The maximum time a user has to use a user-generated permit before it expires.
	// +kubebuilder:validation:Optional
	ActionTokenGeneratedByUserLifespan *string `json:"actionTokenGeneratedByUserLifespan,omitempty" tf:"action_token_generated_by_user_lifespan,omitempty"`

	// Used for the admin console.
	// +kubebuilder:validation:Optional
	AdminTheme *string `json:"adminTheme,omitempty" tf:"admin_theme,omitempty"`

	// A map of custom attributes to add to the realm.
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Attributes map[string]*string `json:"attributes,omitempty" tf:"attributes,omitempty"`

	// The desired flow for browser authentication. Defaults to browser.
	// Which flow should be used for BrowserFlow
	// +kubebuilder:validation:Optional
	BrowserFlow *string `json:"browserFlow,omitempty" tf:"browser_flow,omitempty"`

	// The desired flow for client authentication. Defaults to clients.
	// Which flow should be used for ClientAuthenticationFlow
	// +kubebuilder:validation:Optional
	ClientAuthenticationFlow *string `json:"clientAuthenticationFlow,omitempty" tf:"client_authentication_flow,omitempty"`

	// The amount of time a session can be idle before it expires. Users can override it for individual clients.
	// +kubebuilder:validation:Optional
	ClientSessionIdleTimeout *string `json:"clientSessionIdleTimeout,omitempty" tf:"client_session_idle_timeout,omitempty"`

	// The maximum amount of time before a session expires regardless of activity. Users can override it for individual clients.
	// +kubebuilder:validation:Optional
	ClientSessionMaxLifespan *string `json:"clientSessionMaxLifespan,omitempty" tf:"client_session_max_lifespan,omitempty"`

	// A list of default default client scopes to be used for client definitions. Defaults to [] or keycloak's built-in default default client-scopes.
	// +kubebuilder:validation:Optional
	// +listType=set
	DefaultDefaultClientScopes []*string `json:"defaultDefaultClientScopes,omitempty" tf:"default_default_client_scopes,omitempty"`

	// A list of default optional client scopes to be used for client definitions. Defaults to [] or keycloak's built-in default optional client-scopes.
	// +kubebuilder:validation:Optional
	// +listType=set
	DefaultOptionalClientScopes []*string `json:"defaultOptionalClientScopes,omitempty" tf:"default_optional_client_scopes,omitempty"`

	// Default algorithm used to sign tokens for the realm.
	// +kubebuilder:validation:Optional
	DefaultSignatureAlgorithm *string `json:"defaultSignatureAlgorithm,omitempty" tf:"default_signature_algorithm,omitempty"`

	// The desired flow for direct access authentication. Defaults to direct grant.
	// Which flow should be used for DirectGrantFlow
	// +kubebuilder:validation:Optional
	DirectGrantFlow *string `json:"directGrantFlow,omitempty" tf:"direct_grant_flow,omitempty"`

	// The display name for the realm that is shown when logging in to the admin console.
	// +kubebuilder:validation:Optional
	DisplayName *string `json:"displayName,omitempty" tf:"display_name,omitempty"`

	// The display name for the realm that is rendered as HTML on the screen when logging in to the admin console.
	// +kubebuilder:validation:Optional
	DisplayNameHTML *string `json:"displayNameHtml,omitempty" tf:"display_name_html,omitempty"`

	// The desired flow for Docker authentication. Defaults to docker auth.
	// Which flow should be used for DockerAuthenticationFlow
	// +kubebuilder:validation:Optional
	DockerAuthenticationFlow *string `json:"dockerAuthenticationFlow,omitempty" tf:"docker_authentication_flow,omitempty"`

	// When true, multiple users will be allowed to have the same email address. This argument must be set to false if login_with_email_allowed is set to true.
	// +kubebuilder:validation:Optional
	DuplicateEmailsAllowed *bool `json:"duplicateEmailsAllowed,omitempty" tf:"duplicate_emails_allowed,omitempty"`

	// When true, the username field is editable.
	// +kubebuilder:validation:Optional
	EditUsernameAllowed *bool `json:"editUsernameAllowed,omitempty" tf:"edit_username_allowed,omitempty"`

	// Used for emails that are sent by Keycloak.
	// +kubebuilder:validation:Optional
	EmailTheme *string `json:"emailTheme,omitempty" tf:"email_theme,omitempty"`

	// When false, users and clients will not be able to access this realm. Defaults to true.
	// +kubebuilder:validation:Optional
	Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"`

	// When specified, this will be used as the realm's internal ID within Keycloak. When not specified, the realm's internal ID will be set to the realm's name.
	// +kubebuilder:validation:Optional
	InternalID *string `json:"internalId,omitempty" tf:"internal_id,omitempty"`

	// +kubebuilder:validation:Optional
	Internationalization []InternationalizationParameters `json:"internationalization,omitempty" tf:"internationalization,omitempty"`

	// Used for the login, forgot password, and registration pages.
	// +kubebuilder:validation:Optional
	LoginTheme *string `json:"loginTheme,omitempty" tf:"login_theme,omitempty"`

	// When true, users may log in with their email address.
	// +kubebuilder:validation:Optional
	LoginWithEmailAllowed *bool `json:"loginWithEmailAllowed,omitempty" tf:"login_with_email_allowed,omitempty"`

	// The maximum amount of time a client has to finish the device code flow before it expires.
	// +kubebuilder:validation:Optional
	Oauth2DeviceCodeLifespan *string `json:"oauth2DeviceCodeLifespan,omitempty" tf:"oauth2_device_code_lifespan,omitempty"`

	// The minimum amount of time in seconds that the client should wait between polling requests to the token endpoint.
	// +kubebuilder:validation:Optional
	Oauth2DevicePollingInterval *float64 `json:"oauth2DevicePollingInterval,omitempty" tf:"oauth2_device_polling_interval,omitempty"`

	// The amount of time an offline session can be idle before it expires.
	// +kubebuilder:validation:Optional
	OfflineSessionIdleTimeout *string `json:"offlineSessionIdleTimeout,omitempty" tf:"offline_session_idle_timeout,omitempty"`

	// The maximum amount of time before an offline session expires regardless of activity.
	// +kubebuilder:validation:Optional
	OfflineSessionMaxLifespan *string `json:"offlineSessionMaxLifespan,omitempty" tf:"offline_session_max_lifespan,omitempty"`

	// Enable offline_session_max_lifespan.
	// +kubebuilder:validation:Optional
	OfflineSessionMaxLifespanEnabled *bool `json:"offlineSessionMaxLifespanEnabled,omitempty" tf:"offline_session_max_lifespan_enabled,omitempty"`

	// +kubebuilder:validation:Optional
	OtpPolicy []OtpPolicyParameters `json:"otpPolicy,omitempty" tf:"otp_policy,omitempty"`

	// The password policy for users within the realm.
	// String that represents the passwordPolicies that are in place. Each policy is separated with " and ". Supported policies can be found in the server-info providers page. example: "upperCase(1) and length(8) and forceExpiredPasswordChange(365) and notUsername(undefined)"
	// +kubebuilder:validation:Optional
	PasswordPolicy *string `json:"passwordPolicy,omitempty" tf:"password_policy,omitempty"`

	// The name of the realm. This is unique across Keycloak. This will also be used as the realm's internal ID within Keycloak.
	// +kubebuilder:validation:Optional
	Realm *string `json:"realm,omitempty" tf:"realm,omitempty"`

	// Maximum number of times a refresh token can be reused before they are revoked. If unspecified and 'revoke_refresh_token' is enabled the default value is 0 and refresh tokens can not be reused.
	// +kubebuilder:validation:Optional
	RefreshTokenMaxReuse *float64 `json:"refreshTokenMaxReuse,omitempty" tf:"refresh_token_max_reuse,omitempty"`

	// When true, user registration will be enabled, and a link for registration will be displayed on the login page.
	// +kubebuilder:validation:Optional
	RegistrationAllowed *bool `json:"registrationAllowed,omitempty" tf:"registration_allowed,omitempty"`

	// When true, the user's email will be used as their username during registration.
	// +kubebuilder:validation:Optional
	RegistrationEmailAsUsername *bool `json:"registrationEmailAsUsername,omitempty" tf:"registration_email_as_username,omitempty"`

	// The desired flow for user registration. Defaults to registration.
	// Which flow should be used for RegistrationFlow
	// +kubebuilder:validation:Optional
	RegistrationFlow *string `json:"registrationFlow,omitempty" tf:"registration_flow,omitempty"`

	// When true, a "remember me" checkbox will be displayed on the login page, and the user's session will not expire between browser restarts.
	// +kubebuilder:validation:Optional
	RememberMe *bool `json:"rememberMe,omitempty" tf:"remember_me,omitempty"`

	// The desired flow to use when a user attempts to reset their credentials. Defaults to reset credentials.
	// Which flow should be used for ResetCredentialsFlow
	// +kubebuilder:validation:Optional
	ResetCredentialsFlow *string `json:"resetCredentialsFlow,omitempty" tf:"reset_credentials_flow,omitempty"`

	// When true, a "forgot password" link will be displayed on the login page.
	// +kubebuilder:validation:Optional
	ResetPasswordAllowed *bool `json:"resetPasswordAllowed,omitempty" tf:"reset_password_allowed,omitempty"`

	// If enabled a refresh token can only be used number of times specified in 'refresh_token_max_reuse' before they are revoked. If unspecified, refresh tokens can be reused.
	// +kubebuilder:validation:Optional
	RevokeRefreshToken *bool `json:"revokeRefreshToken,omitempty" tf:"revoke_refresh_token,omitempty"`

	// +kubebuilder:validation:Optional
	SMTPServer []SMTPServerParameters `json:"smtpServer,omitempty" tf:"smtp_server,omitempty"`

	// Can be one of following values: 'none, 'external' or 'all'
	// SSL Required: Values can be 'none', 'external' or 'all'.
	// +kubebuilder:validation:Optional
	SSLRequired *string `json:"sslRequired,omitempty" tf:"ssl_required,omitempty"`

	// +kubebuilder:validation:Optional
	SecurityDefenses []SecurityDefensesParameters `json:"securityDefenses,omitempty" tf:"security_defenses,omitempty"`

	// The amount of time a session can be idle before it expires.
	// +kubebuilder:validation:Optional
	SsoSessionIdleTimeout *string `json:"ssoSessionIdleTimeout,omitempty" tf:"sso_session_idle_timeout,omitempty"`

	// Similar to sso_session_idle_timeout, but used when a user clicks "Remember Me". If not set, Keycloak will default to the value of sso_session_idle_timeout.
	// +kubebuilder:validation:Optional
	SsoSessionIdleTimeoutRememberMe *string `json:"ssoSessionIdleTimeoutRememberMe,omitempty" tf:"sso_session_idle_timeout_remember_me,omitempty"`

	// The maximum amount of time before a session expires regardless of activity.
	// +kubebuilder:validation:Optional
	SsoSessionMaxLifespan *string `json:"ssoSessionMaxLifespan,omitempty" tf:"sso_session_max_lifespan,omitempty"`

	// Similar to sso_session_max_lifespan, but used when a user clicks "Remember Me". If not set, Keycloak will default to the value of sso_session_max_lifespan.
	// +kubebuilder:validation:Optional
	SsoSessionMaxLifespanRememberMe *string `json:"ssoSessionMaxLifespanRememberMe,omitempty" tf:"sso_session_max_lifespan_remember_me,omitempty"`

	// When true, users are allowed to manage their own resources. Defaults to false.
	// +kubebuilder:validation:Optional
	UserManagedAccess *bool `json:"userManagedAccess,omitempty" tf:"user_managed_access,omitempty"`

	// When true, users are required to verify their email address after registration and after email address changes.
	// +kubebuilder:validation:Optional
	VerifyEmail *bool `json:"verifyEmail,omitempty" tf:"verify_email,omitempty"`

	// Configuration for WebAuthn Passwordless Policy authentication.
	// +kubebuilder:validation:Optional
	WebAuthnPasswordlessPolicy []WebAuthnPasswordlessPolicyParameters `json:"webAuthnPasswordlessPolicy,omitempty" tf:"web_authn_passwordless_policy,omitempty"`

	// Configuration for WebAuthn Policy authentication.
	// +kubebuilder:validation:Optional
	WebAuthnPolicy []WebAuthnPolicyParameters `json:"webAuthnPolicy,omitempty" tf:"web_authn_policy,omitempty"`
}

func (*RealmParameters) DeepCopy

func (in *RealmParameters) DeepCopy() *RealmParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RealmParameters.

func (*RealmParameters) DeepCopyInto

func (in *RealmParameters) DeepCopyInto(out *RealmParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RealmSpec

type RealmSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     RealmParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider RealmInitParameters `json:"initProvider,omitempty"`
}

RealmSpec defines the desired state of Realm

func (*RealmSpec) DeepCopy

func (in *RealmSpec) DeepCopy() *RealmSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RealmSpec.

func (*RealmSpec) DeepCopyInto

func (in *RealmSpec) DeepCopyInto(out *RealmSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RealmStatus

type RealmStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        RealmObservation `json:"atProvider,omitempty"`
}

RealmStatus defines the observed state of Realm.

func (*RealmStatus) DeepCopy

func (in *RealmStatus) DeepCopy() *RealmStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RealmStatus.

func (*RealmStatus) DeepCopyInto

func (in *RealmStatus) DeepCopyInto(out *RealmStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Role

type Role struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.name) || (has(self.initProvider) && has(self.initProvider.name))",message="spec.forProvider.name is a required parameter"
	Spec   RoleSpec   `json:"spec"`
	Status RoleStatus `json:"status,omitempty"`
}

Role is the Schema for the Roles API. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,keycloak}

func (*Role) DeepCopy

func (in *Role) DeepCopy() *Role

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Role.

func (*Role) DeepCopyInto

func (in *Role) DeepCopyInto(out *Role)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Role) DeepCopyObject

func (in *Role) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*Role) GetCondition

func (mg *Role) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this Role.

func (*Role) GetConnectionDetailsMapping

func (tr *Role) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this Role

func (*Role) GetDeletionPolicy

func (mg *Role) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this Role.

func (*Role) GetID

func (tr *Role) GetID() string

GetID returns ID of underlying Terraform resource of this Role

func (*Role) GetInitParameters

func (tr *Role) GetInitParameters() (map[string]any, error)

GetInitParameters of this Role

func (*Role) GetManagementPolicies

func (mg *Role) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this Role.

func (*Role) GetMergedParameters

func (tr *Role) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this Role

func (*Role) GetObservation

func (tr *Role) GetObservation() (map[string]any, error)

GetObservation of this Role

func (*Role) GetParameters

func (tr *Role) GetParameters() (map[string]any, error)

GetParameters of this Role

func (*Role) GetProviderConfigReference

func (mg *Role) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this Role.

func (*Role) GetPublishConnectionDetailsTo

func (mg *Role) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this Role.

func (*Role) GetTerraformResourceType

func (mg *Role) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this Role

func (*Role) GetTerraformSchemaVersion

func (tr *Role) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*Role) GetWriteConnectionSecretToReference

func (mg *Role) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this Role.

func (*Role) Hub

func (tr *Role) Hub()

Hub marks this type as a conversion hub.

func (*Role) LateInitialize

func (tr *Role) LateInitialize(attrs []byte) (bool, error)

LateInitialize this Role using its observed tfState. returns True if there are any spec changes for the resource.

func (*Role) SetConditions

func (mg *Role) SetConditions(c ...xpv1.Condition)

SetConditions of this Role.

func (*Role) SetDeletionPolicy

func (mg *Role) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this Role.

func (*Role) SetManagementPolicies

func (mg *Role) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this Role.

func (*Role) SetObservation

func (tr *Role) SetObservation(obs map[string]any) error

SetObservation for this Role

func (*Role) SetParameters

func (tr *Role) SetParameters(params map[string]any) error

SetParameters for this Role

func (*Role) SetProviderConfigReference

func (mg *Role) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this Role.

func (*Role) SetPublishConnectionDetailsTo

func (mg *Role) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this Role.

func (*Role) SetWriteConnectionSecretToReference

func (mg *Role) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this Role.

type RoleInitParameters

type RoleInitParameters struct {

	// A map representing attributes for the role. In order to add multivalue attributes, use ## to seperate the values. Max length for each value is 255 chars
	// +mapType=granular
	Attributes map[string]*string `json:"attributes,omitempty" tf:"attributes,omitempty"`

	// When specified, this role will be created as a client role attached to the client with the provided ID
	ClientID *string `json:"clientId,omitempty" tf:"client_id,omitempty"`

	// When specified, this role will be a composite role, composed of all roles that have an ID present within this list.
	// +listType=set
	CompositeRoles []*string `json:"compositeRoles,omitempty" tf:"composite_roles,omitempty"`

	// The description of the role
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// The name of the role
	Name *string `json:"name,omitempty" tf:"name,omitempty"`
}

func (*RoleInitParameters) DeepCopy

func (in *RoleInitParameters) DeepCopy() *RoleInitParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoleInitParameters.

func (*RoleInitParameters) DeepCopyInto

func (in *RoleInitParameters) DeepCopyInto(out *RoleInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RoleList

type RoleList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Role `json:"items"`
}

RoleList contains a list of Roles

func (*RoleList) DeepCopy

func (in *RoleList) DeepCopy() *RoleList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoleList.

func (*RoleList) DeepCopyInto

func (in *RoleList) DeepCopyInto(out *RoleList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RoleList) DeepCopyObject

func (in *RoleList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*RoleList) GetItems

func (l *RoleList) GetItems() []resource.Managed

GetItems of this RoleList.

type RoleObservation

type RoleObservation struct {

	// A map representing attributes for the role. In order to add multivalue attributes, use ## to seperate the values. Max length for each value is 255 chars
	// +mapType=granular
	Attributes map[string]*string `json:"attributes,omitempty" tf:"attributes,omitempty"`

	// When specified, this role will be created as a client role attached to the client with the provided ID
	ClientID *string `json:"clientId,omitempty" tf:"client_id,omitempty"`

	// When specified, this role will be a composite role, composed of all roles that have an ID present within this list.
	// +listType=set
	CompositeRoles []*string `json:"compositeRoles,omitempty" tf:"composite_roles,omitempty"`

	// The description of the role
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// The name of the role
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The realm this role exists within.
	RealmID *string `json:"realmId,omitempty" tf:"realm_id,omitempty"`
}

func (*RoleObservation) DeepCopy

func (in *RoleObservation) DeepCopy() *RoleObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoleObservation.

func (*RoleObservation) DeepCopyInto

func (in *RoleObservation) DeepCopyInto(out *RoleObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RoleParameters

type RoleParameters struct {

	// A map representing attributes for the role. In order to add multivalue attributes, use ## to seperate the values. Max length for each value is 255 chars
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Attributes map[string]*string `json:"attributes,omitempty" tf:"attributes,omitempty"`

	// When specified, this role will be created as a client role attached to the client with the provided ID
	// +kubebuilder:validation:Optional
	ClientID *string `json:"clientId,omitempty" tf:"client_id,omitempty"`

	// When specified, this role will be a composite role, composed of all roles that have an ID present within this list.
	// +kubebuilder:validation:Optional
	// +listType=set
	CompositeRoles []*string `json:"compositeRoles,omitempty" tf:"composite_roles,omitempty"`

	// The description of the role
	// +kubebuilder:validation:Optional
	Description *string `json:"description,omitempty" tf:"description,omitempty"`

	// The name of the role
	// +kubebuilder:validation:Optional
	Name *string `json:"name,omitempty" tf:"name,omitempty"`

	// The realm this role exists within.
	// +kubebuilder:validation:Required
	RealmID *string `json:"realmId" tf:"realm_id,omitempty"`
}

func (*RoleParameters) DeepCopy

func (in *RoleParameters) DeepCopy() *RoleParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoleParameters.

func (*RoleParameters) DeepCopyInto

func (in *RoleParameters) DeepCopyInto(out *RoleParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RoleSpec

type RoleSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     RoleParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider RoleInitParameters `json:"initProvider,omitempty"`
}

RoleSpec defines the desired state of Role

func (*RoleSpec) DeepCopy

func (in *RoleSpec) DeepCopy() *RoleSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoleSpec.

func (*RoleSpec) DeepCopyInto

func (in *RoleSpec) DeepCopyInto(out *RoleSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RoleStatus

type RoleStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        RoleObservation `json:"atProvider,omitempty"`
}

RoleStatus defines the observed state of Role.

func (*RoleStatus) DeepCopy

func (in *RoleStatus) DeepCopy() *RoleStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RoleStatus.

func (*RoleStatus) DeepCopyInto

func (in *RoleStatus) DeepCopyInto(out *RoleStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SMTPServerInitParameters

type SMTPServerInitParameters struct {

	// Enables authentication to the SMTP server.  This block supports the following arguments:
	Auth []AuthInitParameters `json:"auth,omitempty" tf:"auth,omitempty"`

	// The email address uses for bounces.
	EnvelopeFrom *string `json:"envelopeFrom,omitempty" tf:"envelope_from,omitempty"`

	// The email address for the sender.
	From *string `json:"from,omitempty" tf:"from,omitempty"`

	// The display name of the sender email address.
	FromDisplayName *string `json:"fromDisplayName,omitempty" tf:"from_display_name,omitempty"`

	// The host of the SMTP server.
	Host *string `json:"host,omitempty" tf:"host,omitempty"`

	// The port of the SMTP server (defaults to 25).
	Port *string `json:"port,omitempty" tf:"port,omitempty"`

	// The "reply to" email address.
	ReplyTo *string `json:"replyTo,omitempty" tf:"reply_to,omitempty"`

	// The display name of the "reply to" email address.
	ReplyToDisplayName *string `json:"replyToDisplayName,omitempty" tf:"reply_to_display_name,omitempty"`

	// When true, enables SSL. Defaults to false.
	SSL *bool `json:"ssl,omitempty" tf:"ssl,omitempty"`

	// When true, enables StartTLS. Defaults to false.
	Starttls *bool `json:"starttls,omitempty" tf:"starttls,omitempty"`
}

func (*SMTPServerInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SMTPServerInitParameters.

func (*SMTPServerInitParameters) DeepCopyInto

func (in *SMTPServerInitParameters) DeepCopyInto(out *SMTPServerInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SMTPServerObservation

type SMTPServerObservation struct {

	// Enables authentication to the SMTP server.  This block supports the following arguments:
	Auth []AuthObservation `json:"auth,omitempty" tf:"auth,omitempty"`

	// The email address uses for bounces.
	EnvelopeFrom *string `json:"envelopeFrom,omitempty" tf:"envelope_from,omitempty"`

	// The email address for the sender.
	From *string `json:"from,omitempty" tf:"from,omitempty"`

	// The display name of the sender email address.
	FromDisplayName *string `json:"fromDisplayName,omitempty" tf:"from_display_name,omitempty"`

	// The host of the SMTP server.
	Host *string `json:"host,omitempty" tf:"host,omitempty"`

	// The port of the SMTP server (defaults to 25).
	Port *string `json:"port,omitempty" tf:"port,omitempty"`

	// The "reply to" email address.
	ReplyTo *string `json:"replyTo,omitempty" tf:"reply_to,omitempty"`

	// The display name of the "reply to" email address.
	ReplyToDisplayName *string `json:"replyToDisplayName,omitempty" tf:"reply_to_display_name,omitempty"`

	// When true, enables SSL. Defaults to false.
	SSL *bool `json:"ssl,omitempty" tf:"ssl,omitempty"`

	// When true, enables StartTLS. Defaults to false.
	Starttls *bool `json:"starttls,omitempty" tf:"starttls,omitempty"`
}

func (*SMTPServerObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SMTPServerObservation.

func (*SMTPServerObservation) DeepCopyInto

func (in *SMTPServerObservation) DeepCopyInto(out *SMTPServerObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SMTPServerParameters

type SMTPServerParameters struct {

	// Enables authentication to the SMTP server.  This block supports the following arguments:
	// +kubebuilder:validation:Optional
	Auth []AuthParameters `json:"auth,omitempty" tf:"auth,omitempty"`

	// The email address uses for bounces.
	// +kubebuilder:validation:Optional
	EnvelopeFrom *string `json:"envelopeFrom,omitempty" tf:"envelope_from,omitempty"`

	// The email address for the sender.
	// +kubebuilder:validation:Optional
	From *string `json:"from" tf:"from,omitempty"`

	// The display name of the sender email address.
	// +kubebuilder:validation:Optional
	FromDisplayName *string `json:"fromDisplayName,omitempty" tf:"from_display_name,omitempty"`

	// The host of the SMTP server.
	// +kubebuilder:validation:Optional
	Host *string `json:"host" tf:"host,omitempty"`

	// The port of the SMTP server (defaults to 25).
	// +kubebuilder:validation:Optional
	Port *string `json:"port,omitempty" tf:"port,omitempty"`

	// The "reply to" email address.
	// +kubebuilder:validation:Optional
	ReplyTo *string `json:"replyTo,omitempty" tf:"reply_to,omitempty"`

	// The display name of the "reply to" email address.
	// +kubebuilder:validation:Optional
	ReplyToDisplayName *string `json:"replyToDisplayName,omitempty" tf:"reply_to_display_name,omitempty"`

	// When true, enables SSL. Defaults to false.
	// +kubebuilder:validation:Optional
	SSL *bool `json:"ssl,omitempty" tf:"ssl,omitempty"`

	// When true, enables StartTLS. Defaults to false.
	// +kubebuilder:validation:Optional
	Starttls *bool `json:"starttls,omitempty" tf:"starttls,omitempty"`
}

func (*SMTPServerParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SMTPServerParameters.

func (*SMTPServerParameters) DeepCopyInto

func (in *SMTPServerParameters) DeepCopyInto(out *SMTPServerParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SecurityDefensesInitParameters

type SecurityDefensesInitParameters struct {
	BruteForceDetection []BruteForceDetectionInitParameters `json:"bruteForceDetection,omitempty" tf:"brute_force_detection,omitempty"`

	Headers []HeadersInitParameters `json:"headers,omitempty" tf:"headers,omitempty"`
}

func (*SecurityDefensesInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecurityDefensesInitParameters.

func (*SecurityDefensesInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SecurityDefensesObservation

type SecurityDefensesObservation struct {
	BruteForceDetection []BruteForceDetectionObservation `json:"bruteForceDetection,omitempty" tf:"brute_force_detection,omitempty"`

	Headers []HeadersObservation `json:"headers,omitempty" tf:"headers,omitempty"`
}

func (*SecurityDefensesObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecurityDefensesObservation.

func (*SecurityDefensesObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SecurityDefensesParameters

type SecurityDefensesParameters struct {

	// +kubebuilder:validation:Optional
	BruteForceDetection []BruteForceDetectionParameters `json:"bruteForceDetection,omitempty" tf:"brute_force_detection,omitempty"`

	// +kubebuilder:validation:Optional
	Headers []HeadersParameters `json:"headers,omitempty" tf:"headers,omitempty"`
}

func (*SecurityDefensesParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecurityDefensesParameters.

func (*SecurityDefensesParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type User

type User struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// +kubebuilder:validation:XValidation:rule="!('*' in self.managementPolicies || 'Create' in self.managementPolicies || 'Update' in self.managementPolicies) || has(self.forProvider.username) || (has(self.initProvider) && has(self.initProvider.username))",message="spec.forProvider.username is a required parameter"
	Spec   UserSpec   `json:"spec"`
	Status UserStatus `json:"status,omitempty"`
}

User is the Schema for the Users API. +kubebuilder:printcolumn:name="SYNCED",type="string",JSONPath=".status.conditions[?(@.type=='Synced')].status" +kubebuilder:printcolumn:name="READY",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="EXTERNAL-NAME",type="string",JSONPath=".metadata.annotations.crossplane\\.io/external-name" +kubebuilder:printcolumn:name="AGE",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:scope=Cluster,categories={crossplane,managed,keycloak}

func (*User) DeepCopy

func (in *User) DeepCopy() *User

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new User.

func (*User) DeepCopyInto

func (in *User) DeepCopyInto(out *User)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*User) DeepCopyObject

func (in *User) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*User) GetCondition

func (mg *User) GetCondition(ct xpv1.ConditionType) xpv1.Condition

GetCondition of this User.

func (*User) GetConnectionDetailsMapping

func (tr *User) GetConnectionDetailsMapping() map[string]string

GetConnectionDetailsMapping for this User

func (*User) GetDeletionPolicy

func (mg *User) GetDeletionPolicy() xpv1.DeletionPolicy

GetDeletionPolicy of this User.

func (*User) GetID

func (tr *User) GetID() string

GetID returns ID of underlying Terraform resource of this User

func (*User) GetInitParameters

func (tr *User) GetInitParameters() (map[string]any, error)

GetInitParameters of this User

func (*User) GetManagementPolicies

func (mg *User) GetManagementPolicies() xpv1.ManagementPolicies

GetManagementPolicies of this User.

func (*User) GetMergedParameters

func (tr *User) GetMergedParameters(shouldMergeInitProvider bool) (map[string]any, error)

GetInitParameters of this User

func (*User) GetObservation

func (tr *User) GetObservation() (map[string]any, error)

GetObservation of this User

func (*User) GetParameters

func (tr *User) GetParameters() (map[string]any, error)

GetParameters of this User

func (*User) GetProviderConfigReference

func (mg *User) GetProviderConfigReference() *xpv1.Reference

GetProviderConfigReference of this User.

func (*User) GetPublishConnectionDetailsTo

func (mg *User) GetPublishConnectionDetailsTo() *xpv1.PublishConnectionDetailsTo

GetPublishConnectionDetailsTo of this User.

func (*User) GetTerraformResourceType

func (mg *User) GetTerraformResourceType() string

GetTerraformResourceType returns Terraform resource type for this User

func (*User) GetTerraformSchemaVersion

func (tr *User) GetTerraformSchemaVersion() int

GetTerraformSchemaVersion returns the associated Terraform schema version

func (*User) GetWriteConnectionSecretToReference

func (mg *User) GetWriteConnectionSecretToReference() *xpv1.SecretReference

GetWriteConnectionSecretToReference of this User.

func (*User) Hub

func (tr *User) Hub()

Hub marks this type as a conversion hub.

func (*User) LateInitialize

func (tr *User) LateInitialize(attrs []byte) (bool, error)

LateInitialize this User using its observed tfState. returns True if there are any spec changes for the resource.

func (*User) SetConditions

func (mg *User) SetConditions(c ...xpv1.Condition)

SetConditions of this User.

func (*User) SetDeletionPolicy

func (mg *User) SetDeletionPolicy(r xpv1.DeletionPolicy)

SetDeletionPolicy of this User.

func (*User) SetManagementPolicies

func (mg *User) SetManagementPolicies(r xpv1.ManagementPolicies)

SetManagementPolicies of this User.

func (*User) SetObservation

func (tr *User) SetObservation(obs map[string]any) error

SetObservation for this User

func (*User) SetParameters

func (tr *User) SetParameters(params map[string]any) error

SetParameters for this User

func (*User) SetProviderConfigReference

func (mg *User) SetProviderConfigReference(r *xpv1.Reference)

SetProviderConfigReference of this User.

func (*User) SetPublishConnectionDetailsTo

func (mg *User) SetPublishConnectionDetailsTo(r *xpv1.PublishConnectionDetailsTo)

SetPublishConnectionDetailsTo of this User.

func (*User) SetWriteConnectionSecretToReference

func (mg *User) SetWriteConnectionSecretToReference(r *xpv1.SecretReference)

SetWriteConnectionSecretToReference of this User.

type UserInitParameters

type UserInitParameters struct {

	// A map representing attributes for the user. In order to add multivalue attributes, use ## to seperate the values. Max length for each value is 255 chars
	// +mapType=granular
	Attributes map[string]*string `json:"attributes,omitempty" tf:"attributes,omitempty"`

	// The user's email.
	Email *string `json:"email,omitempty" tf:"email,omitempty"`

	// Whether the email address was validated or not. Default to false.
	EmailVerified *bool `json:"emailVerified,omitempty" tf:"email_verified,omitempty"`

	// When false, this user cannot log in. Defaults to true.
	Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"`

	// When specified, the user will be linked to a federated identity provider. Refer to the federated user example for more details.
	FederatedIdentity []FederatedIdentityInitParameters `json:"federatedIdentity,omitempty" tf:"federated_identity,omitempty"`

	// The user's first name.
	FirstName *string `json:"firstName,omitempty" tf:"first_name,omitempty"`

	// When given, the user's initial password will be set. This attribute is only respected during initial user creation.
	InitialPassword []InitialPasswordInitParameters `json:"initialPassword,omitempty" tf:"initial_password,omitempty"`

	// The user's last name.
	LastName *string `json:"lastName,omitempty" tf:"last_name,omitempty"`

	// A list of required user actions.
	// +listType=set
	RequiredActions []*string `json:"requiredActions,omitempty" tf:"required_actions,omitempty"`

	// The unique username of this user.
	Username *string `json:"username,omitempty" tf:"username,omitempty"`
}

func (*UserInitParameters) DeepCopy

func (in *UserInitParameters) DeepCopy() *UserInitParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserInitParameters.

func (*UserInitParameters) DeepCopyInto

func (in *UserInitParameters) DeepCopyInto(out *UserInitParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type UserList

type UserList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []User `json:"items"`
}

UserList contains a list of Users

func (*UserList) DeepCopy

func (in *UserList) DeepCopy() *UserList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserList.

func (*UserList) DeepCopyInto

func (in *UserList) DeepCopyInto(out *UserList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*UserList) DeepCopyObject

func (in *UserList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*UserList) GetItems

func (l *UserList) GetItems() []resource.Managed

GetItems of this UserList.

type UserObservation

type UserObservation struct {

	// A map representing attributes for the user. In order to add multivalue attributes, use ## to seperate the values. Max length for each value is 255 chars
	// +mapType=granular
	Attributes map[string]*string `json:"attributes,omitempty" tf:"attributes,omitempty"`

	// The user's email.
	Email *string `json:"email,omitempty" tf:"email,omitempty"`

	// Whether the email address was validated or not. Default to false.
	EmailVerified *bool `json:"emailVerified,omitempty" tf:"email_verified,omitempty"`

	// When false, this user cannot log in. Defaults to true.
	Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"`

	// When specified, the user will be linked to a federated identity provider. Refer to the federated user example for more details.
	FederatedIdentity []FederatedIdentityObservation `json:"federatedIdentity,omitempty" tf:"federated_identity,omitempty"`

	// The user's first name.
	FirstName *string `json:"firstName,omitempty" tf:"first_name,omitempty"`

	ID *string `json:"id,omitempty" tf:"id,omitempty"`

	// When given, the user's initial password will be set. This attribute is only respected during initial user creation.
	InitialPassword []InitialPasswordObservation `json:"initialPassword,omitempty" tf:"initial_password,omitempty"`

	// The user's last name.
	LastName *string `json:"lastName,omitempty" tf:"last_name,omitempty"`

	// The realm this user belongs to.
	RealmID *string `json:"realmId,omitempty" tf:"realm_id,omitempty"`

	// A list of required user actions.
	// +listType=set
	RequiredActions []*string `json:"requiredActions,omitempty" tf:"required_actions,omitempty"`

	// The unique username of this user.
	Username *string `json:"username,omitempty" tf:"username,omitempty"`
}

func (*UserObservation) DeepCopy

func (in *UserObservation) DeepCopy() *UserObservation

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserObservation.

func (*UserObservation) DeepCopyInto

func (in *UserObservation) DeepCopyInto(out *UserObservation)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type UserParameters

type UserParameters struct {

	// A map representing attributes for the user. In order to add multivalue attributes, use ## to seperate the values. Max length for each value is 255 chars
	// +kubebuilder:validation:Optional
	// +mapType=granular
	Attributes map[string]*string `json:"attributes,omitempty" tf:"attributes,omitempty"`

	// The user's email.
	// +kubebuilder:validation:Optional
	Email *string `json:"email,omitempty" tf:"email,omitempty"`

	// Whether the email address was validated or not. Default to false.
	// +kubebuilder:validation:Optional
	EmailVerified *bool `json:"emailVerified,omitempty" tf:"email_verified,omitempty"`

	// When false, this user cannot log in. Defaults to true.
	// +kubebuilder:validation:Optional
	Enabled *bool `json:"enabled,omitempty" tf:"enabled,omitempty"`

	// When specified, the user will be linked to a federated identity provider. Refer to the federated user example for more details.
	// +kubebuilder:validation:Optional
	FederatedIdentity []FederatedIdentityParameters `json:"federatedIdentity,omitempty" tf:"federated_identity,omitempty"`

	// The user's first name.
	// +kubebuilder:validation:Optional
	FirstName *string `json:"firstName,omitempty" tf:"first_name,omitempty"`

	// When given, the user's initial password will be set. This attribute is only respected during initial user creation.
	// +kubebuilder:validation:Optional
	InitialPassword []InitialPasswordParameters `json:"initialPassword,omitempty" tf:"initial_password,omitempty"`

	// The user's last name.
	// +kubebuilder:validation:Optional
	LastName *string `json:"lastName,omitempty" tf:"last_name,omitempty"`

	// The realm this user belongs to.
	// +kubebuilder:validation:Required
	RealmID *string `json:"realmId" tf:"realm_id,omitempty"`

	// A list of required user actions.
	// +kubebuilder:validation:Optional
	// +listType=set
	RequiredActions []*string `json:"requiredActions,omitempty" tf:"required_actions,omitempty"`

	// The unique username of this user.
	// +kubebuilder:validation:Optional
	Username *string `json:"username,omitempty" tf:"username,omitempty"`
}

func (*UserParameters) DeepCopy

func (in *UserParameters) DeepCopy() *UserParameters

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserParameters.

func (*UserParameters) DeepCopyInto

func (in *UserParameters) DeepCopyInto(out *UserParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type UserSpec

type UserSpec struct {
	v1.ResourceSpec `json:",inline"`
	ForProvider     UserParameters `json:"forProvider"`
	// THIS IS A BETA FIELD. It will be honored
	// unless the Management Policies feature flag is disabled.
	// InitProvider holds the same fields as ForProvider, with the exception
	// of Identifier and other resource reference fields. The fields that are
	// in InitProvider are merged into ForProvider when the resource is created.
	// The same fields are also added to the terraform ignore_changes hook, to
	// avoid updating them after creation. This is useful for fields that are
	// required on creation, but we do not desire to update them after creation,
	// for example because of an external controller is managing them, like an
	// autoscaler.
	InitProvider UserInitParameters `json:"initProvider,omitempty"`
}

UserSpec defines the desired state of User

func (*UserSpec) DeepCopy

func (in *UserSpec) DeepCopy() *UserSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserSpec.

func (*UserSpec) DeepCopyInto

func (in *UserSpec) DeepCopyInto(out *UserSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type UserStatus

type UserStatus struct {
	v1.ResourceStatus `json:",inline"`
	AtProvider        UserObservation `json:"atProvider,omitempty"`
}

UserStatus defines the observed state of User.

func (*UserStatus) DeepCopy

func (in *UserStatus) DeepCopy() *UserStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserStatus.

func (*UserStatus) DeepCopyInto

func (in *UserStatus) DeepCopyInto(out *UserStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WebAuthnPasswordlessPolicyInitParameters

type WebAuthnPasswordlessPolicyInitParameters struct {

	// A set of AAGUIDs for which an authenticator can be registered.
	// +listType=set
	AcceptableAaguids []*string `json:"acceptableAaguids,omitempty" tf:"acceptable_aaguids,omitempty"`

	// The preference of how to generate a WebAuthn attestation statement. Valid options are not specified, none, indirect, direct, or enterprise. Defaults to not specified.
	// Either none, indirect or direct
	AttestationConveyancePreference *string `json:"attestationConveyancePreference,omitempty" tf:"attestation_conveyance_preference,omitempty"`

	// The acceptable attachment pattern for the WebAuthn authenticator. Valid options are not specified, platform, or cross-platform. Defaults to not specified.
	// Either platform or cross-platform
	AuthenticatorAttachment *string `json:"authenticatorAttachment,omitempty" tf:"authenticator_attachment,omitempty"`

	// When true, Keycloak will avoid registering the authenticator for WebAuthn if it has already been registered. Defaults to false.
	AvoidSameAuthenticatorRegister *bool `json:"avoidSameAuthenticatorRegister,omitempty" tf:"avoid_same_authenticator_register,omitempty"`

	// The timeout value for creating a user's public key credential in seconds. When set to 0, this timeout option is not adapted. Defaults to 0.
	CreateTimeout *float64 `json:"createTimeout,omitempty" tf:"create_timeout,omitempty"`

	// A human readable server name for the WebAuthn Relying Party. Defaults to keycloak.
	RelyingPartyEntityName *string `json:"relyingPartyEntityName,omitempty" tf:"relying_party_entity_name,omitempty"`

	// The WebAuthn relying party ID.
	RelyingPartyID *string `json:"relyingPartyId,omitempty" tf:"relying_party_id,omitempty"`

	// Specifies whether or not a public key should be created to represent the resident key. Valid options are not specified, Yes, or No. Defaults to not specified.
	// Either Yes or No
	RequireResidentKey *string `json:"requireResidentKey,omitempty" tf:"require_resident_key,omitempty"`

	// A set of signature algorithms that should be used for the authentication assertion. Valid options at the time these docs were written are ES256, ES384, ES512, RS256, RS384, RS512, and RS1.
	// Keycloak lists ES256, ES384, ES512, RS256, RS384, RS512, RS1 at the time of writing
	// +listType=set
	SignatureAlgorithms []*string `json:"signatureAlgorithms,omitempty" tf:"signature_algorithms,omitempty"`

	// Specifies the policy for verifying a user logging in via WebAuthn. Valid options are not specified, required, preferred, or discouraged. Defaults to not specified.
	// Either required, preferred or discouraged
	UserVerificationRequirement *string `json:"userVerificationRequirement,omitempty" tf:"user_verification_requirement,omitempty"`
}

func (*WebAuthnPasswordlessPolicyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebAuthnPasswordlessPolicyInitParameters.

func (*WebAuthnPasswordlessPolicyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WebAuthnPasswordlessPolicyObservation

type WebAuthnPasswordlessPolicyObservation struct {

	// A set of AAGUIDs for which an authenticator can be registered.
	// +listType=set
	AcceptableAaguids []*string `json:"acceptableAaguids,omitempty" tf:"acceptable_aaguids,omitempty"`

	// The preference of how to generate a WebAuthn attestation statement. Valid options are not specified, none, indirect, direct, or enterprise. Defaults to not specified.
	// Either none, indirect or direct
	AttestationConveyancePreference *string `json:"attestationConveyancePreference,omitempty" tf:"attestation_conveyance_preference,omitempty"`

	// The acceptable attachment pattern for the WebAuthn authenticator. Valid options are not specified, platform, or cross-platform. Defaults to not specified.
	// Either platform or cross-platform
	AuthenticatorAttachment *string `json:"authenticatorAttachment,omitempty" tf:"authenticator_attachment,omitempty"`

	// When true, Keycloak will avoid registering the authenticator for WebAuthn if it has already been registered. Defaults to false.
	AvoidSameAuthenticatorRegister *bool `json:"avoidSameAuthenticatorRegister,omitempty" tf:"avoid_same_authenticator_register,omitempty"`

	// The timeout value for creating a user's public key credential in seconds. When set to 0, this timeout option is not adapted. Defaults to 0.
	CreateTimeout *float64 `json:"createTimeout,omitempty" tf:"create_timeout,omitempty"`

	// A human readable server name for the WebAuthn Relying Party. Defaults to keycloak.
	RelyingPartyEntityName *string `json:"relyingPartyEntityName,omitempty" tf:"relying_party_entity_name,omitempty"`

	// The WebAuthn relying party ID.
	RelyingPartyID *string `json:"relyingPartyId,omitempty" tf:"relying_party_id,omitempty"`

	// Specifies whether or not a public key should be created to represent the resident key. Valid options are not specified, Yes, or No. Defaults to not specified.
	// Either Yes or No
	RequireResidentKey *string `json:"requireResidentKey,omitempty" tf:"require_resident_key,omitempty"`

	// A set of signature algorithms that should be used for the authentication assertion. Valid options at the time these docs were written are ES256, ES384, ES512, RS256, RS384, RS512, and RS1.
	// Keycloak lists ES256, ES384, ES512, RS256, RS384, RS512, RS1 at the time of writing
	// +listType=set
	SignatureAlgorithms []*string `json:"signatureAlgorithms,omitempty" tf:"signature_algorithms,omitempty"`

	// Specifies the policy for verifying a user logging in via WebAuthn. Valid options are not specified, required, preferred, or discouraged. Defaults to not specified.
	// Either required, preferred or discouraged
	UserVerificationRequirement *string `json:"userVerificationRequirement,omitempty" tf:"user_verification_requirement,omitempty"`
}

func (*WebAuthnPasswordlessPolicyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebAuthnPasswordlessPolicyObservation.

func (*WebAuthnPasswordlessPolicyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WebAuthnPasswordlessPolicyParameters

type WebAuthnPasswordlessPolicyParameters struct {

	// A set of AAGUIDs for which an authenticator can be registered.
	// +kubebuilder:validation:Optional
	// +listType=set
	AcceptableAaguids []*string `json:"acceptableAaguids,omitempty" tf:"acceptable_aaguids,omitempty"`

	// The preference of how to generate a WebAuthn attestation statement. Valid options are not specified, none, indirect, direct, or enterprise. Defaults to not specified.
	// Either none, indirect or direct
	// +kubebuilder:validation:Optional
	AttestationConveyancePreference *string `json:"attestationConveyancePreference,omitempty" tf:"attestation_conveyance_preference,omitempty"`

	// The acceptable attachment pattern for the WebAuthn authenticator. Valid options are not specified, platform, or cross-platform. Defaults to not specified.
	// Either platform or cross-platform
	// +kubebuilder:validation:Optional
	AuthenticatorAttachment *string `json:"authenticatorAttachment,omitempty" tf:"authenticator_attachment,omitempty"`

	// When true, Keycloak will avoid registering the authenticator for WebAuthn if it has already been registered. Defaults to false.
	// +kubebuilder:validation:Optional
	AvoidSameAuthenticatorRegister *bool `json:"avoidSameAuthenticatorRegister,omitempty" tf:"avoid_same_authenticator_register,omitempty"`

	// The timeout value for creating a user's public key credential in seconds. When set to 0, this timeout option is not adapted. Defaults to 0.
	// +kubebuilder:validation:Optional
	CreateTimeout *float64 `json:"createTimeout,omitempty" tf:"create_timeout,omitempty"`

	// A human readable server name for the WebAuthn Relying Party. Defaults to keycloak.
	// +kubebuilder:validation:Optional
	RelyingPartyEntityName *string `json:"relyingPartyEntityName,omitempty" tf:"relying_party_entity_name,omitempty"`

	// The WebAuthn relying party ID.
	// +kubebuilder:validation:Optional
	RelyingPartyID *string `json:"relyingPartyId,omitempty" tf:"relying_party_id,omitempty"`

	// Specifies whether or not a public key should be created to represent the resident key. Valid options are not specified, Yes, or No. Defaults to not specified.
	// Either Yes or No
	// +kubebuilder:validation:Optional
	RequireResidentKey *string `json:"requireResidentKey,omitempty" tf:"require_resident_key,omitempty"`

	// A set of signature algorithms that should be used for the authentication assertion. Valid options at the time these docs were written are ES256, ES384, ES512, RS256, RS384, RS512, and RS1.
	// Keycloak lists ES256, ES384, ES512, RS256, RS384, RS512, RS1 at the time of writing
	// +kubebuilder:validation:Optional
	// +listType=set
	SignatureAlgorithms []*string `json:"signatureAlgorithms,omitempty" tf:"signature_algorithms,omitempty"`

	// Specifies the policy for verifying a user logging in via WebAuthn. Valid options are not specified, required, preferred, or discouraged. Defaults to not specified.
	// Either required, preferred or discouraged
	// +kubebuilder:validation:Optional
	UserVerificationRequirement *string `json:"userVerificationRequirement,omitempty" tf:"user_verification_requirement,omitempty"`
}

func (*WebAuthnPasswordlessPolicyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebAuthnPasswordlessPolicyParameters.

func (*WebAuthnPasswordlessPolicyParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WebAuthnPolicyInitParameters

type WebAuthnPolicyInitParameters struct {

	// A set of AAGUIDs for which an authenticator can be registered.
	// +listType=set
	AcceptableAaguids []*string `json:"acceptableAaguids,omitempty" tf:"acceptable_aaguids,omitempty"`

	// The preference of how to generate a WebAuthn attestation statement. Valid options are not specified, none, indirect, direct, or enterprise. Defaults to not specified.
	// Either none, indirect or direct
	AttestationConveyancePreference *string `json:"attestationConveyancePreference,omitempty" tf:"attestation_conveyance_preference,omitempty"`

	// The acceptable attachment pattern for the WebAuthn authenticator. Valid options are not specified, platform, or cross-platform. Defaults to not specified.
	// Either platform or cross-platform
	AuthenticatorAttachment *string `json:"authenticatorAttachment,omitempty" tf:"authenticator_attachment,omitempty"`

	// When true, Keycloak will avoid registering the authenticator for WebAuthn if it has already been registered. Defaults to false.
	AvoidSameAuthenticatorRegister *bool `json:"avoidSameAuthenticatorRegister,omitempty" tf:"avoid_same_authenticator_register,omitempty"`

	// The timeout value for creating a user's public key credential in seconds. When set to 0, this timeout option is not adapted. Defaults to 0.
	CreateTimeout *float64 `json:"createTimeout,omitempty" tf:"create_timeout,omitempty"`

	// A human readable server name for the WebAuthn Relying Party. Defaults to keycloak.
	RelyingPartyEntityName *string `json:"relyingPartyEntityName,omitempty" tf:"relying_party_entity_name,omitempty"`

	// The WebAuthn relying party ID.
	RelyingPartyID *string `json:"relyingPartyId,omitempty" tf:"relying_party_id,omitempty"`

	// Specifies whether or not a public key should be created to represent the resident key. Valid options are not specified, Yes, or No. Defaults to not specified.
	// Either Yes or No
	RequireResidentKey *string `json:"requireResidentKey,omitempty" tf:"require_resident_key,omitempty"`

	// A set of signature algorithms that should be used for the authentication assertion. Valid options at the time these docs were written are ES256, ES384, ES512, RS256, RS384, RS512, and RS1.
	// Keycloak lists ES256, ES384, ES512, RS256, RS384, RS512, RS1 at the time of writing
	// +listType=set
	SignatureAlgorithms []*string `json:"signatureAlgorithms,omitempty" tf:"signature_algorithms,omitempty"`

	// Specifies the policy for verifying a user logging in via WebAuthn. Valid options are not specified, required, preferred, or discouraged. Defaults to not specified.
	// Either required, preferred or discouraged
	UserVerificationRequirement *string `json:"userVerificationRequirement,omitempty" tf:"user_verification_requirement,omitempty"`
}

func (*WebAuthnPolicyInitParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebAuthnPolicyInitParameters.

func (*WebAuthnPolicyInitParameters) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WebAuthnPolicyObservation

type WebAuthnPolicyObservation struct {

	// A set of AAGUIDs for which an authenticator can be registered.
	// +listType=set
	AcceptableAaguids []*string `json:"acceptableAaguids,omitempty" tf:"acceptable_aaguids,omitempty"`

	// The preference of how to generate a WebAuthn attestation statement. Valid options are not specified, none, indirect, direct, or enterprise. Defaults to not specified.
	// Either none, indirect or direct
	AttestationConveyancePreference *string `json:"attestationConveyancePreference,omitempty" tf:"attestation_conveyance_preference,omitempty"`

	// The acceptable attachment pattern for the WebAuthn authenticator. Valid options are not specified, platform, or cross-platform. Defaults to not specified.
	// Either platform or cross-platform
	AuthenticatorAttachment *string `json:"authenticatorAttachment,omitempty" tf:"authenticator_attachment,omitempty"`

	// When true, Keycloak will avoid registering the authenticator for WebAuthn if it has already been registered. Defaults to false.
	AvoidSameAuthenticatorRegister *bool `json:"avoidSameAuthenticatorRegister,omitempty" tf:"avoid_same_authenticator_register,omitempty"`

	// The timeout value for creating a user's public key credential in seconds. When set to 0, this timeout option is not adapted. Defaults to 0.
	CreateTimeout *float64 `json:"createTimeout,omitempty" tf:"create_timeout,omitempty"`

	// A human readable server name for the WebAuthn Relying Party. Defaults to keycloak.
	RelyingPartyEntityName *string `json:"relyingPartyEntityName,omitempty" tf:"relying_party_entity_name,omitempty"`

	// The WebAuthn relying party ID.
	RelyingPartyID *string `json:"relyingPartyId,omitempty" tf:"relying_party_id,omitempty"`

	// Specifies whether or not a public key should be created to represent the resident key. Valid options are not specified, Yes, or No. Defaults to not specified.
	// Either Yes or No
	RequireResidentKey *string `json:"requireResidentKey,omitempty" tf:"require_resident_key,omitempty"`

	// A set of signature algorithms that should be used for the authentication assertion. Valid options at the time these docs were written are ES256, ES384, ES512, RS256, RS384, RS512, and RS1.
	// Keycloak lists ES256, ES384, ES512, RS256, RS384, RS512, RS1 at the time of writing
	// +listType=set
	SignatureAlgorithms []*string `json:"signatureAlgorithms,omitempty" tf:"signature_algorithms,omitempty"`

	// Specifies the policy for verifying a user logging in via WebAuthn. Valid options are not specified, required, preferred, or discouraged. Defaults to not specified.
	// Either required, preferred or discouraged
	UserVerificationRequirement *string `json:"userVerificationRequirement,omitempty" tf:"user_verification_requirement,omitempty"`
}

func (*WebAuthnPolicyObservation) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebAuthnPolicyObservation.

func (*WebAuthnPolicyObservation) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WebAuthnPolicyParameters

type WebAuthnPolicyParameters struct {

	// A set of AAGUIDs for which an authenticator can be registered.
	// +kubebuilder:validation:Optional
	// +listType=set
	AcceptableAaguids []*string `json:"acceptableAaguids,omitempty" tf:"acceptable_aaguids,omitempty"`

	// The preference of how to generate a WebAuthn attestation statement. Valid options are not specified, none, indirect, direct, or enterprise. Defaults to not specified.
	// Either none, indirect or direct
	// +kubebuilder:validation:Optional
	AttestationConveyancePreference *string `json:"attestationConveyancePreference,omitempty" tf:"attestation_conveyance_preference,omitempty"`

	// The acceptable attachment pattern for the WebAuthn authenticator. Valid options are not specified, platform, or cross-platform. Defaults to not specified.
	// Either platform or cross-platform
	// +kubebuilder:validation:Optional
	AuthenticatorAttachment *string `json:"authenticatorAttachment,omitempty" tf:"authenticator_attachment,omitempty"`

	// When true, Keycloak will avoid registering the authenticator for WebAuthn if it has already been registered. Defaults to false.
	// +kubebuilder:validation:Optional
	AvoidSameAuthenticatorRegister *bool `json:"avoidSameAuthenticatorRegister,omitempty" tf:"avoid_same_authenticator_register,omitempty"`

	// The timeout value for creating a user's public key credential in seconds. When set to 0, this timeout option is not adapted. Defaults to 0.
	// +kubebuilder:validation:Optional
	CreateTimeout *float64 `json:"createTimeout,omitempty" tf:"create_timeout,omitempty"`

	// A human readable server name for the WebAuthn Relying Party. Defaults to keycloak.
	// +kubebuilder:validation:Optional
	RelyingPartyEntityName *string `json:"relyingPartyEntityName,omitempty" tf:"relying_party_entity_name,omitempty"`

	// The WebAuthn relying party ID.
	// +kubebuilder:validation:Optional
	RelyingPartyID *string `json:"relyingPartyId,omitempty" tf:"relying_party_id,omitempty"`

	// Specifies whether or not a public key should be created to represent the resident key. Valid options are not specified, Yes, or No. Defaults to not specified.
	// Either Yes or No
	// +kubebuilder:validation:Optional
	RequireResidentKey *string `json:"requireResidentKey,omitempty" tf:"require_resident_key,omitempty"`

	// A set of signature algorithms that should be used for the authentication assertion. Valid options at the time these docs were written are ES256, ES384, ES512, RS256, RS384, RS512, and RS1.
	// Keycloak lists ES256, ES384, ES512, RS256, RS384, RS512, RS1 at the time of writing
	// +kubebuilder:validation:Optional
	// +listType=set
	SignatureAlgorithms []*string `json:"signatureAlgorithms,omitempty" tf:"signature_algorithms,omitempty"`

	// Specifies the policy for verifying a user logging in via WebAuthn. Valid options are not specified, required, preferred, or discouraged. Defaults to not specified.
	// Either required, preferred or discouraged
	// +kubebuilder:validation:Optional
	UserVerificationRequirement *string `json:"userVerificationRequirement,omitempty" tf:"user_verification_requirement,omitempty"`
}

func (*WebAuthnPolicyParameters) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebAuthnPolicyParameters.

func (*WebAuthnPolicyParameters) DeepCopyInto

func (in *WebAuthnPolicyParameters) DeepCopyInto(out *WebAuthnPolicyParameters)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

Jump to

Keyboard shortcuts

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