Files
ansible-middleware.keycloak/main/_sources/plugins/keycloak_userprofile.rst.txt
ansible-middleware-core b0bedfc363 Update docs for main
Signed-off-by: ansible-middleware-core <ansible-middleware-core@redhat.com>
2026-06-01 14:26:22 +00:00

1307 lines
72 KiB
ReStructuredText

.. Document meta
:orphan:
.. |antsibull-internal-nbsp| unicode:: 0xA0
:trim:
.. meta::
:antsibull-docs: 2.24.0
.. Anchors
.. _ansible_collections.middleware_automation.keycloak.keycloak_userprofile_module:
.. Anchors: short name for ansible.builtin
.. Title
keycloak_userprofile -- Allows managing Keycloak User Profiles
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
.. Collection note
.. note::
This module is part of the `middleware_automation.keycloak collection <https://galaxy.ansible.com/ui/repo/published/middleware_automation/keycloak/>`_.
It is not included in ``ansible-core``.
To check whether it is installed, run :code:`ansible-galaxy collection list`.
To install it, use: :code:`ansible\-galaxy collection install middleware\_automation.keycloak`.
To use it in a playbook, specify: :code:`middleware_automation.keycloak.keycloak_userprofile`.
.. version_added
.. rst-class:: ansible-version-added
New in middleware\_automation.keycloak 3.0.0
.. contents::
:local:
:depth: 1
.. Deprecated
Synopsis
--------
.. Description
- This module allows you to create, update, or delete Keycloak User Profiles using the Keycloak API. You can also customize the "Unmanaged Attributes" with it.
- The names of module options are snake\_cased versions of the camelCase ones found in the Keycloak API and its documentation at \ `https://www.keycloak.org/docs\-api/24.0.5/rest\-api/index.html <https://www.keycloak.org/docs-api/24.0.5/rest-api/index.html>`__. For compatibility reasons, the module also accepts the camelCase versions of the options.
.. Aliases
.. Requirements
.. Options
Parameters
----------
.. raw:: html
<table class="colwidths-auto ansible-option-table docutils align-default" style="width: 100%">
<thead>
<tr class="row-odd">
<th class="head"><p>Parameter</p></th>
<th class="head"><p>Comments</p></th>
</tr>
</thead>
<tbody>
<tr class="row-even">
<td><div class="ansible-option-cell">
<div class="ansibleOptionAnchor" id="parameter-auth_client_id"></div>
<p class="ansible-option-title"><strong>auth_client_id</strong></p>
<a class="ansibleOptionLink" href="#parameter-auth_client_id" title="Permalink to this option"></a>
<p class="ansible-option-type-line">
<span class="ansible-option-type">string</span>
</p>
</div></td>
<td><div class="ansible-option-cell">
<p>OpenID Connect <em>client_id</em> to authenticate to the API with.</p>
<p class="ansible-option-line"><strong class="ansible-option-default-bold">Default:</strong> <code class="ansible-value literal notranslate ansible-option-default">&#34;admin-cli&#34;</code></p>
</div></td>
</tr>
<tr class="row-odd">
<td><div class="ansible-option-cell">
<div class="ansibleOptionAnchor" id="parameter-auth_client_secret"></div>
<p class="ansible-option-title"><strong>auth_client_secret</strong></p>
<a class="ansibleOptionLink" href="#parameter-auth_client_secret" title="Permalink to this option"></a>
<p class="ansible-option-type-line">
<span class="ansible-option-type">string</span>
</p>
</div></td>
<td><div class="ansible-option-cell">
<p>Client Secret to use in conjunction with <em>auth_client_id</em> (if required).</p>
</div></td>
</tr>
<tr class="row-even">
<td><div class="ansible-option-cell">
<div class="ansibleOptionAnchor" id="parameter-auth_keycloak_url"></div>
<div class="ansibleOptionAnchor" id="parameter-url"></div>
<p class="ansible-option-title"><strong>auth_keycloak_url</strong></p>
<a class="ansibleOptionLink" href="#parameter-auth_keycloak_url" title="Permalink to this option"></a>
<p class="ansible-option-type-line"><span class="ansible-option-aliases">aliases: url</span></p>
<p class="ansible-option-type-line">
<span class="ansible-option-type">string</span>
/ <span class="ansible-option-required">required</span>
</p>
</div></td>
<td><div class="ansible-option-cell">
<p>URL to the Keycloak instance.</p>
</div></td>
</tr>
<tr class="row-odd">
<td><div class="ansible-option-cell">
<div class="ansibleOptionAnchor" id="parameter-auth_password"></div>
<div class="ansibleOptionAnchor" id="parameter-password"></div>
<p class="ansible-option-title"><strong>auth_password</strong></p>
<a class="ansibleOptionLink" href="#parameter-auth_password" title="Permalink to this option"></a>
<p class="ansible-option-type-line"><span class="ansible-option-aliases">aliases: password</span></p>
<p class="ansible-option-type-line">
<span class="ansible-option-type">string</span>
</p>
</div></td>
<td><div class="ansible-option-cell">
<p>Password to authenticate for API access with.</p>
</div></td>
</tr>
<tr class="row-even">
<td><div class="ansible-option-cell">
<div class="ansibleOptionAnchor" id="parameter-auth_realm"></div>
<p class="ansible-option-title"><strong>auth_realm</strong></p>
<a class="ansibleOptionLink" href="#parameter-auth_realm" title="Permalink to this option"></a>
<p class="ansible-option-type-line">
<span class="ansible-option-type">string</span>
</p>
</div></td>
<td><div class="ansible-option-cell">
<p>Keycloak realm name to authenticate to for API access.</p>
</div></td>
</tr>
<tr class="row-odd">
<td><div class="ansible-option-cell">
<div class="ansibleOptionAnchor" id="parameter-auth_username"></div>
<div class="ansibleOptionAnchor" id="parameter-username"></div>
<p class="ansible-option-title"><strong>auth_username</strong></p>
<a class="ansibleOptionLink" href="#parameter-auth_username" title="Permalink to this option"></a>
<p class="ansible-option-type-line"><span class="ansible-option-aliases">aliases: username</span></p>
<p class="ansible-option-type-line">
<span class="ansible-option-type">string</span>
</p>
</div></td>
<td><div class="ansible-option-cell">
<p>Username to authenticate for API access with.</p>
</div></td>
</tr>
<tr class="row-even">
<td><div class="ansible-option-cell">
<div class="ansibleOptionAnchor" id="parameter-config"></div>
<p class="ansible-option-title"><strong>config</strong></p>
<a class="ansibleOptionLink" href="#parameter-config" title="Permalink to this option"></a>
<p class="ansible-option-type-line">
<span class="ansible-option-type">dictionary</span>
</p>
</div></td>
<td><div class="ansible-option-cell">
<p>The configuration of the User Profile Provider.</p>
</div></td>
</tr>
<tr class="row-odd">
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
<div class="ansibleOptionAnchor" id="parameter-config/kc_user_profile_config"></div>
<div class="ansibleOptionAnchor" id="parameter-config/kcUserProfileConfig"></div>
<p class="ansible-option-title"><strong>kc_user_profile_config</strong></p>
<a class="ansibleOptionLink" href="#parameter-config/kc_user_profile_config" title="Permalink to this option"></a>
<p class="ansible-option-type-line"><span class="ansible-option-aliases">aliases: kcUserProfileConfig</span></p>
<p class="ansible-option-type-line">
<span class="ansible-option-type">list</span>
/ <span class="ansible-option-elements">elements=dictionary</span>
</p>
</div></td>
<td><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell">
<p>Define a declarative User Profile. See EXAMPLES for more context.</p>
</div></td>
</tr>
<tr class="row-even">
<td><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-cell">
<div class="ansibleOptionAnchor" id="parameter-config/kc_user_profile_config/attributes"></div>
<div class="ansibleOptionAnchor" id="parameter-config/kcUserProfileConfig/attributes"></div>
<p class="ansible-option-title"><strong>attributes</strong></p>
<a class="ansibleOptionLink" href="#parameter-config/kc_user_profile_config/attributes" title="Permalink to this option"></a>
<p class="ansible-option-type-line">
<span class="ansible-option-type">list</span>
/ <span class="ansible-option-elements">elements=dictionary</span>
</p>
</div></td>
<td><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell">
<p>A list of attributes to be included in the User Profile.</p>
</div></td>
</tr>
<tr class="row-odd">
<td><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-cell">
<div class="ansibleOptionAnchor" id="parameter-config/kc_user_profile_config/attributes/annotations"></div>
<div class="ansibleOptionAnchor" id="parameter-config/kcUserProfileConfig/attributes/annotations"></div>
<p class="ansible-option-title"><strong>annotations</strong></p>
<a class="ansibleOptionLink" href="#parameter-config/kc_user_profile_config/attributes/annotations" title="Permalink to this option"></a>
<p class="ansible-option-type-line">
<span class="ansible-option-type">dictionary</span>
</p>
</div></td>
<td><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell">
<p>Annotations for the attribute.</p>
</div></td>
</tr>
<tr class="row-even">
<td><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-cell">
<div class="ansibleOptionAnchor" id="parameter-config/kc_user_profile_config/attributes/display_name"></div>
<div class="ansibleOptionAnchor" id="parameter-config/kcUserProfileConfig/attributes/display_name"></div>
<div class="ansibleOptionAnchor" id="parameter-config/kc_user_profile_config/attributes/displayName"></div>
<div class="ansibleOptionAnchor" id="parameter-config/kcUserProfileConfig/attributes/displayName"></div>
<p class="ansible-option-title"><strong>display_name</strong></p>
<a class="ansibleOptionLink" href="#parameter-config/kc_user_profile_config/attributes/display_name" title="Permalink to this option"></a>
<p class="ansible-option-type-line"><span class="ansible-option-aliases">aliases: displayName</span></p>
<p class="ansible-option-type-line">
<span class="ansible-option-type">string</span>
/ <span class="ansible-option-required">required</span>
</p>
</div></td>
<td><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell">
<p>The display name of the attribute.</p>
</div></td>
</tr>
<tr class="row-odd">
<td><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-cell">
<div class="ansibleOptionAnchor" id="parameter-config/kc_user_profile_config/attributes/group"></div>
<div class="ansibleOptionAnchor" id="parameter-config/kcUserProfileConfig/attributes/group"></div>
<p class="ansible-option-title"><strong>group</strong></p>
<a class="ansibleOptionLink" href="#parameter-config/kc_user_profile_config/attributes/group" title="Permalink to this option"></a>
<p class="ansible-option-type-line">
<span class="ansible-option-type">string</span>
</p>
</div></td>
<td><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell">
<p>Specifies the User Profile group where this attribute is added.</p>
</div></td>
</tr>
<tr class="row-even">
<td><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-cell">
<div class="ansibleOptionAnchor" id="parameter-config/kc_user_profile_config/attributes/multivalued"></div>
<div class="ansibleOptionAnchor" id="parameter-config/kcUserProfileConfig/attributes/multivalued"></div>
<p class="ansible-option-title"><strong>multivalued</strong></p>
<a class="ansibleOptionLink" href="#parameter-config/kc_user_profile_config/attributes/multivalued" title="Permalink to this option"></a>
<p class="ansible-option-type-line">
<span class="ansible-option-type">boolean</span>
</p>
</div></td>
<td><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell">
<p>Whether the attribute can have multiple values.</p>
<p class="ansible-option-line"><strong class="ansible-option-choices">Choices:</strong></p>
<ul class="simple">
<li><p><code class="ansible-value literal notranslate ansible-option-default-bold"><strong>false</strong></code> <span class="ansible-option-choices-default-mark">← (default)</span></p></li>
<li><p><code class="ansible-value literal notranslate ansible-option-choices-entry">true</code></p></li>
</ul>
</div></td>
</tr>
<tr class="row-odd">
<td><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-cell">
<div class="ansibleOptionAnchor" id="parameter-config/kc_user_profile_config/attributes/name"></div>
<div class="ansibleOptionAnchor" id="parameter-config/kcUserProfileConfig/attributes/name"></div>
<p class="ansible-option-title"><strong>name</strong></p>
<a class="ansibleOptionLink" href="#parameter-config/kc_user_profile_config/attributes/name" title="Permalink to this option"></a>
<p class="ansible-option-type-line">
<span class="ansible-option-type">string</span>
/ <span class="ansible-option-required">required</span>
</p>
</div></td>
<td><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell">
<p>The name of the attribute.</p>
</div></td>
</tr>
<tr class="row-even">
<td><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-cell">
<div class="ansibleOptionAnchor" id="parameter-config/kc_user_profile_config/attributes/permissions"></div>
<div class="ansibleOptionAnchor" id="parameter-config/kcUserProfileConfig/attributes/permissions"></div>
<p class="ansible-option-title"><strong>permissions</strong></p>
<a class="ansibleOptionLink" href="#parameter-config/kc_user_profile_config/attributes/permissions" title="Permalink to this option"></a>
<p class="ansible-option-type-line">
<span class="ansible-option-type">dictionary</span>
</p>
</div></td>
<td><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell">
<p>The permissions for viewing and editing the attribute.</p>
</div></td>
</tr>
<tr class="row-odd">
<td><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-cell">
<div class="ansibleOptionAnchor" id="parameter-config/kc_user_profile_config/attributes/permissions/edit"></div>
<div class="ansibleOptionAnchor" id="parameter-config/kcUserProfileConfig/attributes/permissions/edit"></div>
<p class="ansible-option-title"><strong>edit</strong></p>
<a class="ansibleOptionLink" href="#parameter-config/kc_user_profile_config/attributes/permissions/edit" title="Permalink to this option"></a>
<p class="ansible-option-type-line">
<span class="ansible-option-type">list</span>
/ <span class="ansible-option-elements">elements=string</span>
</p>
</div></td>
<td><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell">
<p>The roles that can edit the attribute.</p>
<p>Supported values are <code class="ansible-value literal notranslate">admin</code> and <code class="ansible-value literal notranslate">user</code>.</p>
<p class="ansible-option-line"><strong class="ansible-option-default-bold">Default:</strong> <code class="ansible-value literal notranslate ansible-option-default">[&#34;admin&#34;, &#34;user&#34;]</code></p>
</div></td>
</tr>
<tr class="row-even">
<td><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-cell">
<div class="ansibleOptionAnchor" id="parameter-config/kc_user_profile_config/attributes/permissions/view"></div>
<div class="ansibleOptionAnchor" id="parameter-config/kcUserProfileConfig/attributes/permissions/view"></div>
<p class="ansible-option-title"><strong>view</strong></p>
<a class="ansibleOptionLink" href="#parameter-config/kc_user_profile_config/attributes/permissions/view" title="Permalink to this option"></a>
<p class="ansible-option-type-line">
<span class="ansible-option-type">list</span>
/ <span class="ansible-option-elements">elements=string</span>
</p>
</div></td>
<td><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell">
<p>The roles that can view the attribute.</p>
<p>Supported values are <code class="ansible-value literal notranslate">admin</code> and <code class="ansible-value literal notranslate">user</code>.</p>
<p class="ansible-option-line"><strong class="ansible-option-default-bold">Default:</strong> <code class="ansible-value literal notranslate ansible-option-default">[&#34;admin&#34;, &#34;user&#34;]</code></p>
</div></td>
</tr>
<tr class="row-odd">
<td><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-cell">
<div class="ansibleOptionAnchor" id="parameter-config/kc_user_profile_config/attributes/required"></div>
<div class="ansibleOptionAnchor" id="parameter-config/kcUserProfileConfig/attributes/required"></div>
<p class="ansible-option-title"><strong>required</strong></p>
<a class="ansibleOptionLink" href="#parameter-config/kc_user_profile_config/attributes/required" title="Permalink to this option"></a>
<p class="ansible-option-type-line">
<span class="ansible-option-type">dictionary</span>
</p>
</div></td>
<td><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell">
<p>The roles that require this attribute.</p>
</div></td>
</tr>
<tr class="row-even">
<td><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-cell">
<div class="ansibleOptionAnchor" id="parameter-config/kc_user_profile_config/attributes/required/roles"></div>
<div class="ansibleOptionAnchor" id="parameter-config/kcUserProfileConfig/attributes/required/roles"></div>
<p class="ansible-option-title"><strong>roles</strong></p>
<a class="ansibleOptionLink" href="#parameter-config/kc_user_profile_config/attributes/required/roles" title="Permalink to this option"></a>
<p class="ansible-option-type-line">
<span class="ansible-option-type">list</span>
/ <span class="ansible-option-elements">elements=string</span>
</p>
</div></td>
<td><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell">
<p>The roles for which this attribute is required.</p>
<p>Supported values are <code class="ansible-value literal notranslate">admin</code> and <code class="ansible-value literal notranslate">user</code>.</p>
<p class="ansible-option-line"><strong class="ansible-option-default-bold">Default:</strong> <code class="ansible-value literal notranslate ansible-option-default">[&#34;user&#34;]</code></p>
</div></td>
</tr>
<tr class="row-odd">
<td><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-cell">
<div class="ansibleOptionAnchor" id="parameter-config/kc_user_profile_config/attributes/selector"></div>
<div class="ansibleOptionAnchor" id="parameter-config/kcUserProfileConfig/attributes/selector"></div>
<p class="ansible-option-title"><strong>selector</strong></p>
<a class="ansibleOptionLink" href="#parameter-config/kc_user_profile_config/attributes/selector" title="Permalink to this option"></a>
<p class="ansible-option-type-line">
<span class="ansible-option-type">dictionary</span>
</p>
</div></td>
<td><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell">
<p>Selector when the attribute should be added.</p>
</div></td>
</tr>
<tr class="row-even">
<td><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-cell">
<div class="ansibleOptionAnchor" id="parameter-config/kc_user_profile_config/attributes/selector/scopes"></div>
<div class="ansibleOptionAnchor" id="parameter-config/kcUserProfileConfig/attributes/selector/scopes"></div>
<p class="ansible-option-title"><strong>scopes</strong></p>
<a class="ansibleOptionLink" href="#parameter-config/kc_user_profile_config/attributes/selector/scopes" title="Permalink to this option"></a>
<p class="ansible-option-type-line">
<span class="ansible-option-type">list</span>
/ <span class="ansible-option-elements">elements=string</span>
</p>
</div></td>
<td><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell">
<p>Scopes to which the attribute should be added.</p>
</div></td>
</tr>
<tr class="row-odd">
<td><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-cell">
<div class="ansibleOptionAnchor" id="parameter-config/kc_user_profile_config/attributes/validations"></div>
<div class="ansibleOptionAnchor" id="parameter-config/kcUserProfileConfig/attributes/validations"></div>
<p class="ansible-option-title"><strong>validations</strong></p>
<a class="ansibleOptionLink" href="#parameter-config/kc_user_profile_config/attributes/validations" title="Permalink to this option"></a>
<p class="ansible-option-type-line">
<span class="ansible-option-type">dictionary</span>
</p>
</div></td>
<td><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell">
<p>The validations to be applied to the attribute.</p>
</div></td>
</tr>
<tr class="row-even">
<td><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-cell">
<div class="ansibleOptionAnchor" id="parameter-config/kc_user_profile_config/attributes/validations/double"></div>
<div class="ansibleOptionAnchor" id="parameter-config/kcUserProfileConfig/attributes/validations/double"></div>
<p class="ansible-option-title"><strong>double</strong></p>
<a class="ansibleOptionLink" href="#parameter-config/kc_user_profile_config/attributes/validations/double" title="Permalink to this option"></a>
<p class="ansible-option-type-line">
<span class="ansible-option-type">dictionary</span>
</p>
</div></td>
<td><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell">
<p>The double validation for the attribute.</p>
</div></td>
</tr>
<tr class="row-odd">
<td><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-cell">
<div class="ansibleOptionAnchor" id="parameter-config/kc_user_profile_config/attributes/validations/email"></div>
<div class="ansibleOptionAnchor" id="parameter-config/kcUserProfileConfig/attributes/validations/email"></div>
<p class="ansible-option-title"><strong>email</strong></p>
<a class="ansibleOptionLink" href="#parameter-config/kc_user_profile_config/attributes/validations/email" title="Permalink to this option"></a>
<p class="ansible-option-type-line">
<span class="ansible-option-type">dictionary</span>
</p>
</div></td>
<td><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell">
<p>The email validation for the attribute.</p>
</div></td>
</tr>
<tr class="row-even">
<td><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-cell">
<div class="ansibleOptionAnchor" id="parameter-config/kc_user_profile_config/attributes/validations/integer"></div>
<div class="ansibleOptionAnchor" id="parameter-config/kcUserProfileConfig/attributes/validations/integer"></div>
<p class="ansible-option-title"><strong>integer</strong></p>
<a class="ansibleOptionLink" href="#parameter-config/kc_user_profile_config/attributes/validations/integer" title="Permalink to this option"></a>
<p class="ansible-option-type-line">
<span class="ansible-option-type">dictionary</span>
</p>
</div></td>
<td><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell">
<p>The integer validation for the attribute.</p>
</div></td>
</tr>
<tr class="row-odd">
<td><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-cell">
<div class="ansibleOptionAnchor" id="parameter-config/kc_user_profile_config/attributes/validations/iso_date"></div>
<div class="ansibleOptionAnchor" id="parameter-config/kcUserProfileConfig/attributes/validations/iso_date"></div>
<div class="ansibleOptionAnchor" id="parameter-config/kc_user_profile_config/attributes/validations/isoDate"></div>
<div class="ansibleOptionAnchor" id="parameter-config/kcUserProfileConfig/attributes/validations/isoDate"></div>
<p class="ansible-option-title"><strong>iso_date</strong></p>
<a class="ansibleOptionLink" href="#parameter-config/kc_user_profile_config/attributes/validations/iso_date" title="Permalink to this option"></a>
<p class="ansible-option-type-line"><span class="ansible-option-aliases">aliases: isoDate</span></p>
<p class="ansible-option-type-line">
<span class="ansible-option-type">dictionary</span>
</p>
</div></td>
<td><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell">
<p>The iso-date validation for the attribute.</p>
</div></td>
</tr>
<tr class="row-even">
<td><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-cell">
<div class="ansibleOptionAnchor" id="parameter-config/kc_user_profile_config/attributes/validations/length"></div>
<div class="ansibleOptionAnchor" id="parameter-config/kcUserProfileConfig/attributes/validations/length"></div>
<p class="ansible-option-title"><strong>length</strong></p>
<a class="ansibleOptionLink" href="#parameter-config/kc_user_profile_config/attributes/validations/length" title="Permalink to this option"></a>
<p class="ansible-option-type-line">
<span class="ansible-option-type">dictionary</span>
</p>
</div></td>
<td><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell">
<p>The length validation for the attribute.</p>
</div></td>
</tr>
<tr class="row-odd">
<td><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-cell">
<div class="ansibleOptionAnchor" id="parameter-config/kc_user_profile_config/attributes/validations/length/max"></div>
<div class="ansibleOptionAnchor" id="parameter-config/kcUserProfileConfig/attributes/validations/length/max"></div>
<p class="ansible-option-title"><strong>max</strong></p>
<a class="ansibleOptionLink" href="#parameter-config/kc_user_profile_config/attributes/validations/length/max" title="Permalink to this option"></a>
<p class="ansible-option-type-line">
<span class="ansible-option-type">integer</span>
/ <span class="ansible-option-required">required</span>
</p>
</div></td>
<td><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell">
<p>The maximum length of the attribute.</p>
</div></td>
</tr>
<tr class="row-even">
<td><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-cell">
<div class="ansibleOptionAnchor" id="parameter-config/kc_user_profile_config/attributes/validations/length/min"></div>
<div class="ansibleOptionAnchor" id="parameter-config/kcUserProfileConfig/attributes/validations/length/min"></div>
<p class="ansible-option-title"><strong>min</strong></p>
<a class="ansibleOptionLink" href="#parameter-config/kc_user_profile_config/attributes/validations/length/min" title="Permalink to this option"></a>
<p class="ansible-option-type-line">
<span class="ansible-option-type">integer</span>
</p>
</div></td>
<td><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell">
<p>The minimum length of the attribute.</p>
</div></td>
</tr>
<tr class="row-odd">
<td><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-cell">
<div class="ansibleOptionAnchor" id="parameter-config/kc_user_profile_config/attributes/validations/local_date"></div>
<div class="ansibleOptionAnchor" id="parameter-config/kcUserProfileConfig/attributes/validations/local_date"></div>
<div class="ansibleOptionAnchor" id="parameter-config/kc_user_profile_config/attributes/validations/localDate"></div>
<div class="ansibleOptionAnchor" id="parameter-config/kcUserProfileConfig/attributes/validations/localDate"></div>
<p class="ansible-option-title"><strong>local_date</strong></p>
<a class="ansibleOptionLink" href="#parameter-config/kc_user_profile_config/attributes/validations/local_date" title="Permalink to this option"></a>
<p class="ansible-option-type-line"><span class="ansible-option-aliases">aliases: localDate</span></p>
<p class="ansible-option-type-line">
<span class="ansible-option-type">dictionary</span>
</p>
</div></td>
<td><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell">
<p>The local-date validation for the attribute.</p>
</div></td>
</tr>
<tr class="row-even">
<td><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-cell">
<div class="ansibleOptionAnchor" id="parameter-config/kc_user_profile_config/attributes/validations/multivalued"></div>
<div class="ansibleOptionAnchor" id="parameter-config/kcUserProfileConfig/attributes/validations/multivalued"></div>
<p class="ansible-option-title"><strong>multivalued</strong></p>
<a class="ansibleOptionLink" href="#parameter-config/kc_user_profile_config/attributes/validations/multivalued" title="Permalink to this option"></a>
<p class="ansible-option-type-line">
<span class="ansible-option-type">dictionary</span>
</p>
</div></td>
<td><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell">
<p>The multivalued validation for the attribute.</p>
</div></td>
</tr>
<tr class="row-odd">
<td><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-cell">
<div class="ansibleOptionAnchor" id="parameter-config/kc_user_profile_config/attributes/validations/multivalued/max"></div>
<div class="ansibleOptionAnchor" id="parameter-config/kcUserProfileConfig/attributes/validations/multivalued/max"></div>
<p class="ansible-option-title"><strong>max</strong></p>
<a class="ansibleOptionLink" href="#parameter-config/kc_user_profile_config/attributes/validations/multivalued/max" title="Permalink to this option"></a>
<p class="ansible-option-type-line">
<span class="ansible-option-type">integer</span>
/ <span class="ansible-option-required">required</span>
</p>
</div></td>
<td><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell">
<p>The maximum amount of values of the attribute.</p>
</div></td>
</tr>
<tr class="row-even">
<td><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-cell">
<div class="ansibleOptionAnchor" id="parameter-config/kc_user_profile_config/attributes/validations/multivalued/min"></div>
<div class="ansibleOptionAnchor" id="parameter-config/kcUserProfileConfig/attributes/validations/multivalued/min"></div>
<p class="ansible-option-title"><strong>min</strong></p>
<a class="ansibleOptionLink" href="#parameter-config/kc_user_profile_config/attributes/validations/multivalued/min" title="Permalink to this option"></a>
<p class="ansible-option-type-line">
<span class="ansible-option-type">integer</span>
</p>
</div></td>
<td><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell">
<p>The minimum amount of values of the attribute.</p>
</div></td>
</tr>
<tr class="row-odd">
<td><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-cell">
<div class="ansibleOptionAnchor" id="parameter-config/kc_user_profile_config/attributes/validations/options"></div>
<div class="ansibleOptionAnchor" id="parameter-config/kcUserProfileConfig/attributes/validations/options"></div>
<p class="ansible-option-title"><strong>options</strong></p>
<a class="ansibleOptionLink" href="#parameter-config/kc_user_profile_config/attributes/validations/options" title="Permalink to this option"></a>
<p class="ansible-option-type-line">
<span class="ansible-option-type">dictionary</span>
</p>
</div></td>
<td><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell">
<p>Validation to ensure the attribute matches one of the provided options.</p>
</div></td>
</tr>
<tr class="row-even">
<td><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-cell">
<div class="ansibleOptionAnchor" id="parameter-config/kc_user_profile_config/attributes/validations/pattern"></div>
<div class="ansibleOptionAnchor" id="parameter-config/kcUserProfileConfig/attributes/validations/pattern"></div>
<p class="ansible-option-title"><strong>pattern</strong></p>
<a class="ansibleOptionLink" href="#parameter-config/kc_user_profile_config/attributes/validations/pattern" title="Permalink to this option"></a>
<p class="ansible-option-type-line">
<span class="ansible-option-type">dictionary</span>
</p>
</div></td>
<td><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell">
<p>The pattern validation for the attribute using regular expressions.</p>
</div></td>
</tr>
<tr class="row-odd">
<td><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-cell">
<div class="ansibleOptionAnchor" id="parameter-config/kc_user_profile_config/attributes/validations/person_name_prohibited_characters"></div>
<div class="ansibleOptionAnchor" id="parameter-config/kcUserProfileConfig/attributes/validations/person_name_prohibited_characters"></div>
<div class="ansibleOptionAnchor" id="parameter-config/kc_user_profile_config/attributes/validations/personNameProhibitedCharacters"></div>
<div class="ansibleOptionAnchor" id="parameter-config/kcUserProfileConfig/attributes/validations/personNameProhibitedCharacters"></div>
<p class="ansible-option-title"><strong>person_name_prohibited_characters</strong></p>
<a class="ansibleOptionLink" href="#parameter-config/kc_user_profile_config/attributes/validations/person_name_prohibited_characters" title="Permalink to this option"></a>
<p class="ansible-option-type-line"><span class="ansible-option-aliases">aliases: personNameProhibitedCharacters</span></p>
<p class="ansible-option-type-line">
<span class="ansible-option-type">dictionary</span>
</p>
</div></td>
<td><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell">
<p>The prohibited characters validation for person name attributes.</p>
</div></td>
</tr>
<tr class="row-even">
<td><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-cell">
<div class="ansibleOptionAnchor" id="parameter-config/kc_user_profile_config/attributes/validations/up_username_not_idn_homograph"></div>
<div class="ansibleOptionAnchor" id="parameter-config/kcUserProfileConfig/attributes/validations/up_username_not_idn_homograph"></div>
<div class="ansibleOptionAnchor" id="parameter-config/kc_user_profile_config/attributes/validations/upUsernameNotIdnHomograph"></div>
<div class="ansibleOptionAnchor" id="parameter-config/kcUserProfileConfig/attributes/validations/upUsernameNotIdnHomograph"></div>
<p class="ansible-option-title"><strong>up_username_not_idn_homograph</strong></p>
<a class="ansibleOptionLink" href="#parameter-config/kc_user_profile_config/attributes/validations/up_username_not_idn_homograph" title="Permalink to this option"></a>
<p class="ansible-option-type-line"><span class="ansible-option-aliases">aliases: upUsernameNotIdnHomograph</span></p>
<p class="ansible-option-type-line">
<span class="ansible-option-type">dictionary</span>
</p>
</div></td>
<td><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell">
<p>The validation to prevent IDN homograph attacks in usernames.</p>
</div></td>
</tr>
<tr class="row-odd">
<td><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-cell">
<div class="ansibleOptionAnchor" id="parameter-config/kc_user_profile_config/attributes/validations/uri"></div>
<div class="ansibleOptionAnchor" id="parameter-config/kcUserProfileConfig/attributes/validations/uri"></div>
<p class="ansible-option-title"><strong>uri</strong></p>
<a class="ansibleOptionLink" href="#parameter-config/kc_user_profile_config/attributes/validations/uri" title="Permalink to this option"></a>
<p class="ansible-option-type-line">
<span class="ansible-option-type">dictionary</span>
</p>
</div></td>
<td><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell">
<p>The URI validation for the attribute.</p>
</div></td>
</tr>
<tr class="row-even">
<td><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-cell">
<div class="ansibleOptionAnchor" id="parameter-config/kc_user_profile_config/attributes/validations/username_prohibited_characters"></div>
<div class="ansibleOptionAnchor" id="parameter-config/kcUserProfileConfig/attributes/validations/username_prohibited_characters"></div>
<div class="ansibleOptionAnchor" id="parameter-config/kc_user_profile_config/attributes/validations/usernameProhibitedCharacters"></div>
<div class="ansibleOptionAnchor" id="parameter-config/kcUserProfileConfig/attributes/validations/usernameProhibitedCharacters"></div>
<p class="ansible-option-title"><strong>username_prohibited_characters</strong></p>
<a class="ansibleOptionLink" href="#parameter-config/kc_user_profile_config/attributes/validations/username_prohibited_characters" title="Permalink to this option"></a>
<p class="ansible-option-type-line"><span class="ansible-option-aliases">aliases: usernameProhibitedCharacters</span></p>
<p class="ansible-option-type-line">
<span class="ansible-option-type">dictionary</span>
</p>
</div></td>
<td><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell">
<p>The prohibited characters validation for the username attribute.</p>
</div></td>
</tr>
<tr class="row-odd">
<td><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-cell">
<div class="ansibleOptionAnchor" id="parameter-config/kc_user_profile_config/groups"></div>
<div class="ansibleOptionAnchor" id="parameter-config/kcUserProfileConfig/groups"></div>
<p class="ansible-option-title"><strong>groups</strong></p>
<a class="ansibleOptionLink" href="#parameter-config/kc_user_profile_config/groups" title="Permalink to this option"></a>
<p class="ansible-option-type-line">
<span class="ansible-option-type">list</span>
/ <span class="ansible-option-elements">elements=dictionary</span>
</p>
</div></td>
<td><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell">
<p>A list of attribute groups to be included in the User Profile.</p>
</div></td>
</tr>
<tr class="row-even">
<td><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-cell">
<div class="ansibleOptionAnchor" id="parameter-config/kc_user_profile_config/groups/annotations"></div>
<div class="ansibleOptionAnchor" id="parameter-config/kcUserProfileConfig/groups/annotations"></div>
<p class="ansible-option-title"><strong>annotations</strong></p>
<a class="ansibleOptionLink" href="#parameter-config/kc_user_profile_config/groups/annotations" title="Permalink to this option"></a>
<p class="ansible-option-type-line">
<span class="ansible-option-type">dictionary</span>
</p>
</div></td>
<td><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell">
<p>The annotations included in the group.</p>
</div></td>
</tr>
<tr class="row-odd">
<td><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-cell">
<div class="ansibleOptionAnchor" id="parameter-config/kc_user_profile_config/groups/display_description"></div>
<div class="ansibleOptionAnchor" id="parameter-config/kcUserProfileConfig/groups/display_description"></div>
<div class="ansibleOptionAnchor" id="parameter-config/kc_user_profile_config/groups/displayDescription"></div>
<div class="ansibleOptionAnchor" id="parameter-config/kcUserProfileConfig/groups/displayDescription"></div>
<p class="ansible-option-title"><strong>display_description</strong></p>
<a class="ansibleOptionLink" href="#parameter-config/kc_user_profile_config/groups/display_description" title="Permalink to this option"></a>
<p class="ansible-option-type-line"><span class="ansible-option-aliases">aliases: displayDescription</span></p>
<p class="ansible-option-type-line">
<span class="ansible-option-type">string</span>
</p>
</div></td>
<td><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell">
<p>The display description for the group.</p>
</div></td>
</tr>
<tr class="row-even">
<td><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-cell">
<div class="ansibleOptionAnchor" id="parameter-config/kc_user_profile_config/groups/display_header"></div>
<div class="ansibleOptionAnchor" id="parameter-config/kcUserProfileConfig/groups/display_header"></div>
<div class="ansibleOptionAnchor" id="parameter-config/kc_user_profile_config/groups/displayHeader"></div>
<div class="ansibleOptionAnchor" id="parameter-config/kcUserProfileConfig/groups/displayHeader"></div>
<p class="ansible-option-title"><strong>display_header</strong></p>
<a class="ansibleOptionLink" href="#parameter-config/kc_user_profile_config/groups/display_header" title="Permalink to this option"></a>
<p class="ansible-option-type-line"><span class="ansible-option-aliases">aliases: displayHeader</span></p>
<p class="ansible-option-type-line">
<span class="ansible-option-type">string</span>
/ <span class="ansible-option-required">required</span>
</p>
</div></td>
<td><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell">
<p>The display header for the group.</p>
</div></td>
</tr>
<tr class="row-odd">
<td><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-cell">
<div class="ansibleOptionAnchor" id="parameter-config/kc_user_profile_config/groups/name"></div>
<div class="ansibleOptionAnchor" id="parameter-config/kcUserProfileConfig/groups/name"></div>
<p class="ansible-option-title"><strong>name</strong></p>
<a class="ansibleOptionLink" href="#parameter-config/kc_user_profile_config/groups/name" title="Permalink to this option"></a>
<p class="ansible-option-type-line">
<span class="ansible-option-type">string</span>
/ <span class="ansible-option-required">required</span>
</p>
</div></td>
<td><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell">
<p>The name of the group.</p>
</div></td>
</tr>
<tr class="row-even">
<td><div class="ansible-option-indent"></div><div class="ansible-option-indent"></div><div class="ansible-option-cell">
<div class="ansibleOptionAnchor" id="parameter-config/kc_user_profile_config/unmanaged_attribute_policy"></div>
<div class="ansibleOptionAnchor" id="parameter-config/kcUserProfileConfig/unmanaged_attribute_policy"></div>
<div class="ansibleOptionAnchor" id="parameter-config/kc_user_profile_config/unmanagedAttributePolicy"></div>
<div class="ansibleOptionAnchor" id="parameter-config/kcUserProfileConfig/unmanagedAttributePolicy"></div>
<p class="ansible-option-title"><strong>unmanaged_attribute_policy</strong></p>
<a class="ansibleOptionLink" href="#parameter-config/kc_user_profile_config/unmanaged_attribute_policy" title="Permalink to this option"></a>
<p class="ansible-option-type-line"><span class="ansible-option-aliases">aliases: unmanagedAttributePolicy</span></p>
<p class="ansible-option-type-line">
<span class="ansible-option-type">string</span>
</p>
</div></td>
<td><div class="ansible-option-indent-desc"></div><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell">
<p>Policy for unmanaged attributes.</p>
<p class="ansible-option-line"><strong class="ansible-option-choices">Choices:</strong></p>
<ul class="simple">
<li><p><code class="ansible-value literal notranslate ansible-option-choices-entry">&#34;ENABLED&#34;</code></p></li>
<li><p><code class="ansible-value literal notranslate ansible-option-choices-entry">&#34;ADMIN_EDIT&#34;</code></p></li>
<li><p><code class="ansible-value literal notranslate ansible-option-choices-entry">&#34;ADMIN_VIEW&#34;</code></p></li>
</ul>
</div></td>
</tr>
<tr class="row-odd">
<td><div class="ansible-option-cell">
<div class="ansibleOptionAnchor" id="parameter-connection_timeout"></div>
<p class="ansible-option-title"><strong>connection_timeout</strong></p>
<a class="ansibleOptionLink" href="#parameter-connection_timeout" title="Permalink to this option"></a>
<p class="ansible-option-type-line">
<span class="ansible-option-type">integer</span>
</p>
</div></td>
<td><div class="ansible-option-cell">
<p>Controls the HTTP connections timeout period (in seconds) to Keycloak API.</p>
<p class="ansible-option-line"><strong class="ansible-option-default-bold">Default:</strong> <code class="ansible-value literal notranslate ansible-option-default">10</code></p>
</div></td>
</tr>
<tr class="row-even">
<td><div class="ansible-option-cell">
<div class="ansibleOptionAnchor" id="parameter-http_agent"></div>
<p class="ansible-option-title"><strong>http_agent</strong></p>
<a class="ansibleOptionLink" href="#parameter-http_agent" title="Permalink to this option"></a>
<p class="ansible-option-type-line">
<span class="ansible-option-type">string</span>
</p>
</div></td>
<td><div class="ansible-option-cell">
<p>Configures the HTTP User-Agent header.</p>
<p class="ansible-option-line"><strong class="ansible-option-default-bold">Default:</strong> <code class="ansible-value literal notranslate ansible-option-default">&#34;Ansible&#34;</code></p>
</div></td>
</tr>
<tr class="row-odd">
<td><div class="ansible-option-cell">
<div class="ansibleOptionAnchor" id="parameter-parent_id"></div>
<div class="ansibleOptionAnchor" id="parameter-parentId"></div>
<div class="ansibleOptionAnchor" id="parameter-realm"></div>
<p class="ansible-option-title"><strong>parent_id</strong></p>
<a class="ansibleOptionLink" href="#parameter-parent_id" title="Permalink to this option"></a>
<p class="ansible-option-type-line"><span class="ansible-option-aliases">aliases: parentId, realm</span></p>
<p class="ansible-option-type-line">
<span class="ansible-option-type">string</span>
/ <span class="ansible-option-required">required</span>
</p>
</div></td>
<td><div class="ansible-option-cell">
<p>The parent ID of the realm key. In practice the ID (name) of the realm.</p>
</div></td>
</tr>
<tr class="row-even">
<td><div class="ansible-option-cell">
<div class="ansibleOptionAnchor" id="parameter-provider_id"></div>
<div class="ansibleOptionAnchor" id="parameter-providerId"></div>
<p class="ansible-option-title"><strong>provider_id</strong></p>
<a class="ansibleOptionLink" href="#parameter-provider_id" title="Permalink to this option"></a>
<p class="ansible-option-type-line"><span class="ansible-option-aliases">aliases: providerId</span></p>
<p class="ansible-option-type-line">
<span class="ansible-option-type">string</span>
</p>
</div></td>
<td><div class="ansible-option-cell">
<p>The name of the provider ID for the key (supported value is <code class="ansible-value literal notranslate">declarative-user-profile</code>).</p>
<p class="ansible-option-line"><strong class="ansible-option-choices">Choices:</strong></p>
<ul class="simple">
<li><p><code class="ansible-value literal notranslate ansible-option-default-bold"><strong>&#34;declarative-user-profile&#34;</strong></code> <span class="ansible-option-choices-default-mark">← (default)</span></p></li>
</ul>
</div></td>
</tr>
<tr class="row-odd">
<td><div class="ansible-option-cell">
<div class="ansibleOptionAnchor" id="parameter-provider_type"></div>
<div class="ansibleOptionAnchor" id="parameter-providerType"></div>
<p class="ansible-option-title"><strong>provider_type</strong></p>
<a class="ansibleOptionLink" href="#parameter-provider_type" title="Permalink to this option"></a>
<p class="ansible-option-type-line"><span class="ansible-option-aliases">aliases: providerType</span></p>
<p class="ansible-option-type-line">
<span class="ansible-option-type">string</span>
</p>
</div></td>
<td><div class="ansible-option-cell">
<p>Component type for User Profile (only supported value is <code class="ansible-value literal notranslate">org.keycloak.userprofile.UserProfileProvider</code>).</p>
<p class="ansible-option-line"><strong class="ansible-option-choices">Choices:</strong></p>
<ul class="simple">
<li><p><code class="ansible-value literal notranslate ansible-option-default-bold"><strong>&#34;org.keycloak.userprofile.UserProfileProvider&#34;</strong></code> <span class="ansible-option-choices-default-mark">← (default)</span></p></li>
</ul>
</div></td>
</tr>
<tr class="row-even">
<td><div class="ansible-option-cell">
<div class="ansibleOptionAnchor" id="parameter-refresh_token"></div>
<p class="ansible-option-title"><strong>refresh_token</strong></p>
<a class="ansibleOptionLink" href="#parameter-refresh_token" title="Permalink to this option"></a>
<p class="ansible-option-type-line">
<span class="ansible-option-type">string</span>
</p>
</div></td>
<td><div class="ansible-option-cell">
<p>Authentication refresh token for Keycloak API.</p>
</div></td>
</tr>
<tr class="row-odd">
<td><div class="ansible-option-cell">
<div class="ansibleOptionAnchor" id="parameter-state"></div>
<p class="ansible-option-title"><strong>state</strong></p>
<a class="ansibleOptionLink" href="#parameter-state" title="Permalink to this option"></a>
<p class="ansible-option-type-line">
<span class="ansible-option-type">string</span>
</p>
</div></td>
<td><div class="ansible-option-cell">
<p>State of the User Profile provider.</p>
<p>On <code class="ansible-value literal notranslate">present</code>, the User Profile provider is created if it does not yet exist, or updated with the parameters you provide.</p>
<p>On <code class="ansible-value literal notranslate">absent</code>, the User Profile provider is removed if it exists.</p>
<p class="ansible-option-line"><strong class="ansible-option-choices">Choices:</strong></p>
<ul class="simple">
<li><p><code class="ansible-value literal notranslate ansible-option-default-bold"><strong>&#34;present&#34;</strong></code> <span class="ansible-option-choices-default-mark">← (default)</span></p></li>
<li><p><code class="ansible-value literal notranslate ansible-option-choices-entry">&#34;absent&#34;</code></p></li>
</ul>
</div></td>
</tr>
<tr class="row-even">
<td><div class="ansible-option-cell">
<div class="ansibleOptionAnchor" id="parameter-token"></div>
<p class="ansible-option-title"><strong>token</strong></p>
<a class="ansibleOptionLink" href="#parameter-token" title="Permalink to this option"></a>
<p class="ansible-option-type-line">
<span class="ansible-option-type">string</span>
</p>
</div></td>
<td><div class="ansible-option-cell">
<p>Authentication token for Keycloak API.</p>
</div></td>
</tr>
<tr class="row-odd">
<td><div class="ansible-option-cell">
<div class="ansibleOptionAnchor" id="parameter-validate_certs"></div>
<p class="ansible-option-title"><strong>validate_certs</strong></p>
<a class="ansibleOptionLink" href="#parameter-validate_certs" title="Permalink to this option"></a>
<p class="ansible-option-type-line">
<span class="ansible-option-type">boolean</span>
</p>
</div></td>
<td><div class="ansible-option-cell">
<p>Verify TLS certificates (do not disable this in production).</p>
<p class="ansible-option-line"><strong class="ansible-option-choices">Choices:</strong></p>
<ul class="simple">
<li><p><code class="ansible-value literal notranslate ansible-option-choices-entry">false</code></p></li>
<li><p><code class="ansible-value literal notranslate ansible-option-default-bold"><strong>true</strong></code> <span class="ansible-option-choices-default-mark">← (default)</span></p></li>
</ul>
</div></td>
</tr>
</tbody>
</table>
.. Attributes
Attributes
----------
.. tabularcolumns:: \X{2}{10}\X{3}{10}\X{5}{10}
.. list-table::
:width: 100%
:widths: auto
:header-rows: 1
:class: longtable ansible-option-table
* - Attribute
- Support
- Description
* - .. raw:: html
<div class="ansible-option-cell">
<div class="ansibleOptionAnchor" id="attribute-action_group"></div>
.. _ansible_collections.middleware_automation.keycloak.keycloak_userprofile_module__attribute-action_group:
.. rst-class:: ansible-option-title
**action_group**
.. raw:: html
<a class="ansibleOptionLink" href="#attribute-action_group" title="Permalink to this attribute"></a>
.. raw:: html
</div>
- .. raw:: html
<div class="ansible-option-cell">
:ansible-attribute-support-property:`Action group:` |antsibull-internal-nbsp|:ansible-attribute-support-full:`middleware\_automation.keycloak.keycloak`
:ansible-option-versionadded:`added in middleware\_automation.keycloak 3.0.0`
.. raw:: html
</div>
- .. raw:: html
<div class="ansible-option-cell">
Use :literal:`group/middleware\_automation.keycloak.keycloak` in :literal:`module\_defaults` to set defaults for this module.
.. raw:: html
</div>
* - .. raw:: html
<div class="ansible-option-cell">
<div class="ansibleOptionAnchor" id="attribute-check_mode"></div>
.. _ansible_collections.middleware_automation.keycloak.keycloak_userprofile_module__attribute-check_mode:
.. rst-class:: ansible-option-title
**check_mode**
.. raw:: html
<a class="ansibleOptionLink" href="#attribute-check_mode" title="Permalink to this attribute"></a>
.. raw:: html
</div>
- .. raw:: html
<div class="ansible-option-cell">
:ansible-attribute-support-label:`Support: \ `\ :ansible-attribute-support-full:`full`
.. raw:: html
</div>
- .. raw:: html
<div class="ansible-option-cell">
Can run in :literal:`check\_mode` and return changed status prediction without modifying target.
.. raw:: html
</div>
* - .. raw:: html
<div class="ansible-option-cell">
<div class="ansibleOptionAnchor" id="attribute-diff_mode"></div>
.. _ansible_collections.middleware_automation.keycloak.keycloak_userprofile_module__attribute-diff_mode:
.. rst-class:: ansible-option-title
**diff_mode**
.. raw:: html
<a class="ansibleOptionLink" href="#attribute-diff_mode" title="Permalink to this attribute"></a>
.. raw:: html
</div>
- .. raw:: html
<div class="ansible-option-cell">
:ansible-attribute-support-label:`Support: \ `\ :ansible-attribute-support-full:`full`
.. raw:: html
</div>
- .. raw:: html
<div class="ansible-option-cell">
Will return details on what has changed (or possibly needs changing in :literal:`check\_mode`\ ), when in diff mode.
.. raw:: html
</div>
.. Notes
Notes
-----
.. note::
- Currently, only a single :ansval:`declarative\-user\-profile` entry is supported for :ansopt:`middleware\_automation.keycloak.keycloak\_userprofile#module:provider\_id` (design of the Keyckoak API). However, there can be multiple :ansopt:`middleware\_automation.keycloak.keycloak\_userprofile#module:config.kc\_user\_profile\_config[].attributes[]` entries.
.. Seealso
.. Examples
Examples
--------
.. code-block:: yaml+jinja
- name: Create a Declarative User Profile with default settings
middleware_automation.keycloak.keycloak_userprofile:
state: present
parent_id: master
config:
kc_user_profile_config:
- attributes:
- name: username
displayName: ${username}
validations:
length:
min: 3
max: 255
username_prohibited_characters: {}
up_username_not_idn_homograph: {}
annotations: {}
permissions:
view:
- admin
- user
edit: []
multivalued: false
- name: email
displayName: ${email}
validations:
email: {}
length:
max: 255
annotations: {}
required:
roles:
- user
permissions:
view:
- admin
- user
edit: []
multivalued: false
- name: firstName
displayName: ${firstName}
validations:
length:
max: 255
person_name_prohibited_characters: {}
annotations: {}
required:
roles:
- user
permissions:
view:
- admin
- user
edit: []
multivalued: false
- name: lastName
displayName: ${lastName}
validations:
length:
max: 255
person_name_prohibited_characters: {}
annotations: {}
required:
roles:
- user
permissions:
view:
- admin
- user
edit: []
multivalued: false
- name: testAttribute
displayName: ${testAttribute}
validations:
integer:
min: 0
max: 255
annotations: {}
required:
roles:
- user
permissions:
view:
- admin
- user
edit: []
multivalued: false
groups:
- name: user-metadata
displayHeader: User metadata
displayDescription: Attributes, which refer to user metadata
annotations: {}
- name: Delete a Keycloak User Profile Provider
keycloak_userprofile:
state: absent
parent_id: master
# Unmanaged attributes are user attributes not explicitly defined in the User Profile
# configuration. By default, unmanaged attributes are "Disabled" and are not
# available from any context such as registration, account, and the
# administration console. By setting "Enabled", unmanaged attributes are fully
# recognized by the server and accessible through all contexts, useful if you are
# starting migrating an existing realm to the declarative User Profile
# and you don't have yet all user attributes defined in the User Profile configuration.
- name: Enable Unmanaged Attributes
middleware_automation.keycloak.keycloak_userprofile:
state: present
parent_id: master
config:
kc_user_profile_config:
- unmanagedAttributePolicy: ENABLED
# By setting "Only administrators can write", unmanaged attributes can be managed
# only through the administration console and API, useful if you have already
# defined any custom attribute that can be managed by users but you are unsure
# about adding other attributes that should only be managed by administrators.
- name: Enable ADMIN_EDIT on Unmanaged Attributes
middleware_automation.keycloak.keycloak_userprofile:
state: present
parent_id: master
config:
kc_user_profile_config:
- unmanagedAttributePolicy: ADMIN_EDIT
# By setting `Only administrators can view`, unmanaged attributes are read-only
# and only available through the administration console and API.
- name: Enable ADMIN_VIEW on Unmanaged Attributes
middleware_automation.keycloak.keycloak_userprofile:
state: present
parent_id: master
config:
kc_user_profile_config:
- unmanagedAttributePolicy: ADMIN_VIEW
.. Facts
.. Return values
Return Values
-------------
Common return values are documented :ref:`here <common_return_values>`, the following are the fields unique to this module:
.. raw:: html
<table class="colwidths-auto ansible-option-table docutils align-default" style="width: 100%">
<thead>
<tr class="row-odd">
<th class="head"><p>Key</p></th>
<th class="head"><p>Description</p></th>
</tr>
</thead>
<tbody>
<tr class="row-even">
<td><div class="ansible-option-cell">
<div class="ansibleOptionAnchor" id="return-data"></div>
<p class="ansible-option-title"><strong>data</strong></p>
<a class="ansibleOptionLink" href="#return-data" title="Permalink to this return value"></a>
<p class="ansible-option-type-line">
<span class="ansible-option-type">dictionary</span>
</p>
</div></td>
<td><div class="ansible-option-cell">
<p>The data returned by the Keycloak API.</p>
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> when state is present</p>
</div></td>
</tr>
<tr class="row-odd">
<td><div class="ansible-option-cell">
<div class="ansibleOptionAnchor" id="return-msg"></div>
<p class="ansible-option-title"><strong>msg</strong></p>
<a class="ansibleOptionLink" href="#return-msg" title="Permalink to this return value"></a>
<p class="ansible-option-type-line">
<span class="ansible-option-type">string</span>
</p>
</div></td>
<td><div class="ansible-option-cell">
<p>The output message generated by the module.</p>
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> always</p>
<p class="ansible-option-line ansible-option-sample"><strong class="ansible-option-sample-bold">Sample:</strong> <code class="ansible-value literal notranslate ansible-option-sample">&#34;UserProfileProvider created successfully&#34;</code></p>
</div></td>
</tr>
</tbody>
</table>
.. Status (Presently only deprecated)
.. Authors
Authors
~~~~~~~
- Eike Waldt (@yeoldegrove)
.. Extra links
.. Parsing errors