mirror of
https://github.com/ansible-middleware/keycloak.git
synced 2026-07-28 10:24:54 +00:00
Update docs for main
Signed-off-by: ansible-middleware-core <ansible-middleware-core@redhat.com>
This commit is contained in:
@@ -5,10 +5,37 @@ Plugin Index
|
||||
:caption: modules plugins
|
||||
:maxdepth: 0
|
||||
|
||||
keycloak_authentication
|
||||
keycloak_authentication_flow
|
||||
keycloak_authentication_required_actions
|
||||
keycloak_authentication_v2
|
||||
keycloak_authz_authorization_scope
|
||||
keycloak_authz_custom_policy
|
||||
keycloak_authz_permission
|
||||
keycloak_authz_permission_info
|
||||
keycloak_client
|
||||
keycloak_client_rolemapping
|
||||
keycloak_client_rolescope
|
||||
keycloak_client_scope
|
||||
keycloak_clientscope_rolemappings
|
||||
keycloak_clientscope_type
|
||||
keycloak_clientsecret_info
|
||||
keycloak_clientsecret_regenerate
|
||||
keycloak_clienttemplate
|
||||
keycloak_component
|
||||
keycloak_component_info
|
||||
keycloak_group
|
||||
keycloak_identity_provider
|
||||
keycloak_realm
|
||||
keycloak_realm_info
|
||||
keycloak_realm_key
|
||||
keycloak_realm_keys_metadata_info
|
||||
keycloak_realm_localization
|
||||
keycloak_realm_rolemapping
|
||||
keycloak_role
|
||||
keycloak_user
|
||||
keycloak_user_execute_actions_email
|
||||
keycloak_user_federation
|
||||
keycloak_user_rolemapping
|
||||
keycloak_userprofile
|
||||
|
||||
|
||||
779
main/_sources/plugins/keycloak_authentication.rst.txt
Normal file
779
main/_sources/plugins/keycloak_authentication.rst.txt
Normal file
@@ -0,0 +1,779 @@
|
||||
.. Document meta
|
||||
|
||||
:orphan:
|
||||
|
||||
.. |antsibull-internal-nbsp| unicode:: 0xA0
|
||||
:trim:
|
||||
|
||||
.. meta::
|
||||
:antsibull-docs: 2.24.0
|
||||
|
||||
.. Anchors
|
||||
|
||||
.. _ansible_collections.middleware_automation.keycloak.keycloak_authentication_module:
|
||||
|
||||
.. Anchors: short name for ansible.builtin
|
||||
|
||||
.. Title
|
||||
|
||||
keycloak_authentication -- Configure authentication in Keycloak
|
||||
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
.. 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_authentication`.
|
||||
|
||||
.. version_added
|
||||
|
||||
.. rst-class:: ansible-version-added
|
||||
|
||||
New in middleware\_automation.keycloak 3.0.0
|
||||
|
||||
.. contents::
|
||||
:local:
|
||||
:depth: 1
|
||||
|
||||
.. Deprecated
|
||||
|
||||
|
||||
Synopsis
|
||||
--------
|
||||
|
||||
.. Description
|
||||
|
||||
- This module actually can only make a copy of an existing authentication flow, add an execution to it and configure it.
|
||||
- It can also delete the flow.
|
||||
|
||||
|
||||
.. 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-alias"></div>
|
||||
<p class="ansible-option-title"><strong>alias</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-alias" 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-cell">
|
||||
<p>Alias for the authentication flow.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<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">"admin-cli"</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<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-odd">
|
||||
<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-even">
|
||||
<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-odd">
|
||||
<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-even">
|
||||
<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-odd">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-authenticationExecutions"></div>
|
||||
<p class="ansible-option-title"><strong>authenticationExecutions</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-authenticationExecutions" 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-cell">
|
||||
<p>Configuration structure for the executions.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-authenticationExecutions/authenticationConfig"></div>
|
||||
<p class="ansible-option-title"><strong>authenticationConfig</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-authenticationExecutions/authenticationConfig" 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-cell">
|
||||
<p>Describe the config of the authentication.</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-authenticationExecutions/displayName"></div>
|
||||
<p class="ansible-option-title"><strong>displayName</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-authenticationExecutions/displayName" 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-cell">
|
||||
<p>Name of the execution or subflow to create or update.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-authenticationExecutions/flowAlias"></div>
|
||||
<p class="ansible-option-title"><strong>flowAlias</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-authenticationExecutions/flowAlias" 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-cell">
|
||||
<p>Alias of parent flow.</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-authenticationExecutions/index"></div>
|
||||
<p class="ansible-option-title"><strong>index</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-authenticationExecutions/index" 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-cell">
|
||||
<p>Priority order of the execution.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-authenticationExecutions/providerId"></div>
|
||||
<p class="ansible-option-title"><strong>providerId</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-authenticationExecutions/providerId" 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-cell">
|
||||
<p><code class='docutils literal notranslate'>providerID</code> for the new flow when not copied from an existing flow.</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-authenticationExecutions/requirement"></div>
|
||||
<p class="ansible-option-title"><strong>requirement</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-authenticationExecutions/requirement" 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-cell">
|
||||
<p>Control status of the subflow or execution.</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">"REQUIRED"</code></p></li>
|
||||
<li><p><code class="ansible-value literal notranslate ansible-option-choices-entry">"ALTERNATIVE"</code></p></li>
|
||||
<li><p><code class="ansible-value literal notranslate ansible-option-choices-entry">"DISABLED"</code></p></li>
|
||||
<li><p><code class="ansible-value literal notranslate ansible-option-choices-entry">"CONDITIONAL"</code></p></li>
|
||||
</ul>
|
||||
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-authenticationExecutions/subFlowType"></div>
|
||||
<p class="ansible-option-title"><strong>subFlowType</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-authenticationExecutions/subFlowType" 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-cell">
|
||||
<p>For new subflows, optionally specify the type.</p>
|
||||
<p>Is only used at creation.</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>"basic-flow"</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">"form-flow"</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-copyFrom"></div>
|
||||
<p class="ansible-option-title"><strong>copyFrom</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-copyFrom" 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><code class='docutils literal notranslate'>flowAlias</code> of the authentication flow to use for the copy.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-description"></div>
|
||||
<p class="ansible-option-title"><strong>description</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-description" 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>Description of the flow.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-force"></div>
|
||||
<p class="ansible-option-title"><strong>force</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-force" 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>If <code class="ansible-value literal notranslate">true</code>, allows to remove the authentication flow and recreate it.</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-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">"Ansible"</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-providerId"></div>
|
||||
<p class="ansible-option-title"><strong>providerId</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-providerId" 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><code class='docutils literal notranslate'>providerId</code> for the new flow when not copied from an existing flow.</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">"basic-flow"</code></p></li>
|
||||
<li><p><code class="ansible-value literal notranslate ansible-option-choices-entry">"client-flow"</code></p></li>
|
||||
</ul>
|
||||
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-realm"></div>
|
||||
<p class="ansible-option-title"><strong>realm</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-realm" 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-cell">
|
||||
<p>The name of the realm in which is the authentication.</p>
|
||||
</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>Control if the authentication flow must exists or not.</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>"present"</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">"absent"</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_authentication_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_authentication_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_authentication_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
|
||||
|
||||
|
||||
.. Seealso
|
||||
|
||||
|
||||
.. Examples
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
.. code-block:: yaml+jinja
|
||||
|
||||
- name: Create an authentication flow from first broker login and add an execution to it.
|
||||
middleware_automation.keycloak.keycloak_authentication:
|
||||
auth_keycloak_url: http://localhost:8080
|
||||
auth_realm: master
|
||||
auth_username: admin
|
||||
auth_password: password
|
||||
realm: master
|
||||
alias: "Copy of first broker login"
|
||||
copyFrom: "first broker login"
|
||||
authenticationExecutions:
|
||||
- providerId: "test-execution1"
|
||||
requirement: "REQUIRED"
|
||||
authenticationConfig:
|
||||
alias: "test.execution1.property"
|
||||
config:
|
||||
test1.property: "value"
|
||||
- providerId: "test-execution2"
|
||||
requirement: "REQUIRED"
|
||||
authenticationConfig:
|
||||
alias: "test.execution2.property"
|
||||
config:
|
||||
test2.property: "value"
|
||||
state: present
|
||||
|
||||
- name: Re-create the authentication flow
|
||||
middleware_automation.keycloak.keycloak_authentication:
|
||||
auth_keycloak_url: http://localhost:8080
|
||||
auth_realm: master
|
||||
auth_username: admin
|
||||
auth_password: password
|
||||
realm: master
|
||||
alias: "Copy of first broker login"
|
||||
copyFrom: "first broker login"
|
||||
authenticationExecutions:
|
||||
- providerId: "test-provisioning"
|
||||
requirement: "REQUIRED"
|
||||
authenticationConfig:
|
||||
alias: "test.provisioning.property"
|
||||
config:
|
||||
test.provisioning.property: "value"
|
||||
state: present
|
||||
force: true
|
||||
|
||||
- name: Create an authentication flow with subflow containing an execution.
|
||||
middleware_automation.keycloak.keycloak_authentication:
|
||||
auth_keycloak_url: http://localhost:8080
|
||||
auth_realm: master
|
||||
auth_username: admin
|
||||
auth_password: password
|
||||
realm: master
|
||||
alias: "Copy of first broker login"
|
||||
copyFrom: "first broker login"
|
||||
authenticationExecutions:
|
||||
- providerId: "test-execution1"
|
||||
requirement: "REQUIRED"
|
||||
- displayName: "New Subflow"
|
||||
requirement: "REQUIRED"
|
||||
- providerId: "auth-cookie"
|
||||
requirement: "REQUIRED"
|
||||
flowAlias: "New Sublow"
|
||||
state: present
|
||||
|
||||
- name: Remove authentication.
|
||||
middleware_automation.keycloak.keycloak_authentication:
|
||||
auth_keycloak_url: http://localhost:8080
|
||||
auth_realm: master
|
||||
auth_username: admin
|
||||
auth_password: password
|
||||
realm: master
|
||||
alias: "Copy of first broker login"
|
||||
state: absent
|
||||
|
||||
|
||||
|
||||
.. 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-end_state"></div>
|
||||
<p class="ansible-option-title"><strong>end_state</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-end_state" 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>Representation of the authentication after module execution.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> on success</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">{"alias": "Copy of first broker login", "authenticationExecutions": [{"alias": "review profile config", "authenticationConfig": {"alias": "review profile config", "config": {"update.profile.on.first.login": "missing"}, "id": "6f09e4fb-aad4-496a-b873-7fa9779df6d7"}, "configurable": true, "displayName": "Review Profile", "id": "8f77dab8-2008-416f-989e-88b09ccf0b4c", "index": 0, "level": 0, "providerId": "idp-review-profile", "requirement": "REQUIRED", "requirementChoices": ["REQUIRED", "ALTERNATIVE", "DISABLED"]}], "builtIn": false, "description": "Actions taken after first broker login with identity provider account, which is not yet linked to any Keycloak account", "id": "bc228863-5887-4297-b898-4d988f8eaa5c", "providerId": "basic-flow", "topLevel": true}</code></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>Message as to what action was taken.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> always</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
.. Status (Presently only deprecated)
|
||||
|
||||
|
||||
.. Authors
|
||||
|
||||
Authors
|
||||
~~~~~~~
|
||||
|
||||
- Philippe Gauthier (@elfelip)
|
||||
- Gaëtan Daubresse (@Gaetan2907)
|
||||
|
||||
|
||||
.. Extra links
|
||||
|
||||
|
||||
.. Parsing errors
|
||||
@@ -33,6 +33,9 @@ keycloak_authentication_flow -- Allows administration of Keycloak authentication
|
||||
|
||||
.. version_added
|
||||
|
||||
.. rst-class:: ansible-version-added
|
||||
|
||||
New in middleware\_automation.keycloak 3.0.0
|
||||
|
||||
.. contents::
|
||||
:local:
|
||||
@@ -183,7 +186,6 @@ Parameters
|
||||
<p class="ansible-option-type-line">
|
||||
<span class="ansible-option-type">integer</span>
|
||||
</p>
|
||||
<p><em class="ansible-option-versionadded">added in middleware_automation.keycloak 4.5.0</em></p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>Controls the HTTP connections timeout period (in seconds) to Keycloak API.</p>
|
||||
@@ -284,7 +286,6 @@ Parameters
|
||||
<p class="ansible-option-type-line">
|
||||
<span class="ansible-option-type">string</span>
|
||||
</p>
|
||||
<p><em class="ansible-option-versionadded">added in middleware_automation.keycloak 5.4.0</em></p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>Configures the HTTP User-Agent header.</p>
|
||||
@@ -322,6 +323,19 @@ Parameters
|
||||
</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>
|
||||
@@ -342,7 +356,7 @@ Parameters
|
||||
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<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>
|
||||
@@ -350,13 +364,12 @@ Parameters
|
||||
<p class="ansible-option-type-line">
|
||||
<span class="ansible-option-type">string</span>
|
||||
</p>
|
||||
<p><em class="ansible-option-versionadded">added in middleware_automation.keycloak 3.0.0</em></p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>Authentication token for Keycloak API.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<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>
|
||||
@@ -398,6 +411,48 @@ Attributes
|
||||
- Support
|
||||
- Description
|
||||
|
||||
* - .. raw:: html
|
||||
|
||||
<div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="attribute-action_group"></div>
|
||||
|
||||
.. _ansible_collections.middleware_automation.keycloak.keycloak_authentication_flow_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`
|
||||
|
||||
|
||||
.. 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">
|
||||
|
||||
@@ -0,0 +1,772 @@
|
||||
.. Document meta
|
||||
|
||||
:orphan:
|
||||
|
||||
.. |antsibull-internal-nbsp| unicode:: 0xA0
|
||||
:trim:
|
||||
|
||||
.. meta::
|
||||
:antsibull-docs: 2.24.0
|
||||
|
||||
.. Anchors
|
||||
|
||||
.. _ansible_collections.middleware_automation.keycloak.keycloak_authentication_required_actions_module:
|
||||
|
||||
.. Anchors: short name for ansible.builtin
|
||||
|
||||
.. Title
|
||||
|
||||
keycloak_authentication_required_actions -- Allows administration of Keycloak authentication required actions
|
||||
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
.. 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_authentication_required_actions`.
|
||||
|
||||
.. version_added
|
||||
|
||||
.. rst-class:: ansible-version-added
|
||||
|
||||
New in middleware\_automation.keycloak 3.0.0
|
||||
|
||||
.. contents::
|
||||
:local:
|
||||
:depth: 1
|
||||
|
||||
.. Deprecated
|
||||
|
||||
|
||||
Synopsis
|
||||
--------
|
||||
|
||||
.. Description
|
||||
|
||||
- This module can register, update and delete required actions.
|
||||
- It also filters out any duplicate required actions by their alias. The first occurrence is preserved.
|
||||
|
||||
|
||||
.. 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">"admin-cli"</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-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-odd">
|
||||
<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">"Ansible"</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-realm"></div>
|
||||
<p class="ansible-option-title"><strong>realm</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-realm" 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-cell">
|
||||
<p>The name of the realm in which are the authentication required actions.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<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-even">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-required_actions"></div>
|
||||
<p class="ansible-option-title"><strong>required_actions</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-required_actions" 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-cell">
|
||||
<p>Authentication required action.</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-required_actions/alias"></div>
|
||||
<p class="ansible-option-title"><strong>alias</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-required_actions/alias" 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-cell">
|
||||
<p>Unique name of the required action.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-required_actions/config"></div>
|
||||
<p class="ansible-option-title"><strong>config</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-required_actions/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-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>Configuration for the required action.</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-required_actions/defaultAction"></div>
|
||||
<p class="ansible-option-title"><strong>defaultAction</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-required_actions/defaultAction" 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-cell">
|
||||
<p>Indicates whether new users have the required action assigned to them.</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-choices-entry">true</code></p></li>
|
||||
</ul>
|
||||
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-required_actions/enabled"></div>
|
||||
<p class="ansible-option-title"><strong>enabled</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-required_actions/enabled" 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-cell">
|
||||
<p>Indicates, if the required action is enabled or not.</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-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-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-required_actions/name"></div>
|
||||
<p class="ansible-option-title"><strong>name</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-required_actions/name" 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-cell">
|
||||
<p>Displayed name of the required action. Required for registration.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-required_actions/priority"></div>
|
||||
<p class="ansible-option-title"><strong>priority</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-required_actions/priority" 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-cell">
|
||||
<p>Priority of the required action.</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-required_actions/providerId"></div>
|
||||
<p class="ansible-option-title"><strong>providerId</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-required_actions/providerId" 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-cell">
|
||||
<p>Provider ID of the required action. Required for registration.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
|
||||
<tr class="row-even">
|
||||
<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>
|
||||
/ <span class="ansible-option-required">required</span>
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>Control if the realm authentication required actions are going to be registered/updated (<code class="ansible-value literal notranslate">present</code>) or deleted (<code class="ansible-value literal notranslate">absent</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-choices-entry">"absent"</code></p></li>
|
||||
<li><p><code class="ansible-value literal notranslate ansible-option-choices-entry">"present"</code></p></li>
|
||||
</ul>
|
||||
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<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-even">
|
||||
<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_authentication_required_actions_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_authentication_required_actions_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_authentication_required_actions_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
|
||||
|
||||
|
||||
.. Seealso
|
||||
|
||||
|
||||
.. Examples
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
.. code-block:: yaml+jinja
|
||||
|
||||
- name: Register a new required action.
|
||||
middleware_automation.keycloak.keycloak_authentication_required_actions:
|
||||
auth_client_id: "admin-cli"
|
||||
auth_keycloak_url: "http://localhost:8080"
|
||||
auth_password: "password"
|
||||
auth_realm: "master"
|
||||
auth_username: "admin"
|
||||
realm: "master"
|
||||
required_actions:
|
||||
- alias: "TERMS_AND_CONDITIONS"
|
||||
name: "Terms and conditions"
|
||||
providerId: "TERMS_AND_CONDITIONS"
|
||||
enabled: true
|
||||
state: "present"
|
||||
|
||||
- name: Update the newly registered required action.
|
||||
middleware_automation.keycloak.keycloak_authentication_required_actions:
|
||||
auth_client_id: "admin-cli"
|
||||
auth_keycloak_url: "http://localhost:8080"
|
||||
auth_password: "password"
|
||||
auth_realm: "master"
|
||||
auth_username: "admin"
|
||||
realm: "master"
|
||||
required_actions:
|
||||
- alias: "TERMS_AND_CONDITIONS"
|
||||
enabled: false
|
||||
state: "present"
|
||||
|
||||
- name: Delete the updated registered required action.
|
||||
middleware_automation.keycloak.keycloak_authentication_required_actions:
|
||||
auth_client_id: "admin-cli"
|
||||
auth_keycloak_url: "http://localhost:8080"
|
||||
auth_password: "password"
|
||||
auth_realm: "master"
|
||||
auth_username: "admin"
|
||||
realm: "master"
|
||||
required_actions:
|
||||
- alias: "TERMS_AND_CONDITIONS"
|
||||
state: "absent"
|
||||
|
||||
|
||||
|
||||
.. 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-end_state"></div>
|
||||
<p class="ansible-option-title"><strong>end_state</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-end_state" title="Permalink to this return value"></a>
|
||||
<p class="ansible-option-type-line">
|
||||
<span class="ansible-option-type">complex</span>
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>Representation of the authentication required actions after module execution.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> on success</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="return-end_state/alias"></div>
|
||||
<p class="ansible-option-title"><strong>alias</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-end_state/alias" 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-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>Unique name of the required action.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> success</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">"test-provider-id"</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="return-end_state/config"></div>
|
||||
<p class="ansible-option-title"><strong>config</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-end_state/config" 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-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>Configuration for the required action.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> success</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">{}</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="return-end_state/defaultAction"></div>
|
||||
<p class="ansible-option-title"><strong>defaultAction</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-end_state/defaultAction" title="Permalink to this return value"></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-cell">
|
||||
<p>Indicates whether new users have the required action assigned to them.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> success</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">false</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="return-end_state/enabled"></div>
|
||||
<p class="ansible-option-title"><strong>enabled</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-end_state/enabled" title="Permalink to this return value"></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-cell">
|
||||
<p>Indicates, if the required action is enabled or not.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> success</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">false</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="return-end_state/name"></div>
|
||||
<p class="ansible-option-title"><strong>name</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-end_state/name" 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-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>Displayed name of the required action. Required for registration.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> success</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">"Test provider ID"</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="return-end_state/priority"></div>
|
||||
<p class="ansible-option-title"><strong>priority</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-end_state/priority" title="Permalink to this return value"></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-cell">
|
||||
<p>Priority of the required action.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> success</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">90</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="return-end_state/providerId"></div>
|
||||
<p class="ansible-option-title"><strong>providerId</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-end_state/providerId" 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-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>Provider ID of the required action. Required for registration.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> success</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">"test-provider-id"</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
|
||||
<tr class="row-even">
|
||||
<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>Message as to what action was taken.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> always</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
.. Status (Presently only deprecated)
|
||||
|
||||
|
||||
.. Authors
|
||||
|
||||
Authors
|
||||
~~~~~~~
|
||||
|
||||
- Skrekulko (@Skrekulko)
|
||||
|
||||
|
||||
.. Extra links
|
||||
|
||||
|
||||
.. Parsing errors
|
||||
1216
main/_sources/plugins/keycloak_authentication_v2.rst.txt
Normal file
1216
main/_sources/plugins/keycloak_authentication_v2.rst.txt
Normal file
File diff suppressed because it is too large
Load Diff
637
main/_sources/plugins/keycloak_authz_authorization_scope.rst.txt
Normal file
637
main/_sources/plugins/keycloak_authz_authorization_scope.rst.txt
Normal file
@@ -0,0 +1,637 @@
|
||||
.. Document meta
|
||||
|
||||
:orphan:
|
||||
|
||||
.. |antsibull-internal-nbsp| unicode:: 0xA0
|
||||
:trim:
|
||||
|
||||
.. meta::
|
||||
:antsibull-docs: 2.24.0
|
||||
|
||||
.. Anchors
|
||||
|
||||
.. _ansible_collections.middleware_automation.keycloak.keycloak_authz_authorization_scope_module:
|
||||
|
||||
.. Anchors: short name for ansible.builtin
|
||||
|
||||
.. Title
|
||||
|
||||
keycloak_authz_authorization_scope -- Allows administration of Keycloak client authorization scopes using Keycloak API
|
||||
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
.. 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_authz_authorization_scope`.
|
||||
|
||||
.. 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 the administration of Keycloak client Authorization Scopes using the Keycloak REST API. Authorization Scopes are only available if a client has Authorization enabled.
|
||||
- This module requires access to the REST API using OpenID Connect; the user connecting and the realm being used must have the requisite access rights. In a default Keycloak installation, admin\-cli and an admin user would work, as would a separate realm definition with the scope tailored to your needs and a user having the expected roles.
|
||||
- The names of module options are snake\_cased versions of the camelCase options used by Keycloak. The Authorization Services paths and payloads have not officially been documented by the Keycloak project. \ `https://www.puppeteers.net/blog/keycloak\-authorization\-services\-rest\-api\-paths\-and\-payload/ <https://www.puppeteers.net/blog/keycloak-authorization-services-rest-api-paths-and-payload/>`__.
|
||||
|
||||
|
||||
.. 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">"admin-cli"</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-client_id"></div>
|
||||
<p class="ansible-option-title"><strong>client_id</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-client_id" 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-cell">
|
||||
<p>The <code class='docutils literal notranslate'>clientId</code> of the Keycloak client that should have the authorization scope.</p>
|
||||
<p>This is usually a human-readable name of the Keycloak client.</p>
|
||||
</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-display_name"></div>
|
||||
<p class="ansible-option-title"><strong>display_name</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-display_name" 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>The display name of the authorization scope.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<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">"Ansible"</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-icon_uri"></div>
|
||||
<p class="ansible-option-title"><strong>icon_uri</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-icon_uri" 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>The icon URI for the authorization scope.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-name"></div>
|
||||
<p class="ansible-option-title"><strong>name</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-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-cell">
|
||||
<p>Name of the authorization scope to create.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-realm"></div>
|
||||
<p class="ansible-option-title"><strong>realm</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-realm" 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-cell">
|
||||
<p>The name of the Keycloak realm the Keycloak client is in.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<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-even">
|
||||
<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 authorization scope.</p>
|
||||
<p>On <code class="ansible-value literal notranslate">present</code>, the authorization scope is created (or updated if it exists already).</p>
|
||||
<p>On <code class="ansible-value literal notranslate">absent</code>, the authorization scope 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>"present"</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">"absent"</code></p></li>
|
||||
</ul>
|
||||
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<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-even">
|
||||
<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_authz_authorization_scope_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_authz_authorization_scope_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_authz_authorization_scope_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
|
||||
|
||||
|
||||
.. Seealso
|
||||
|
||||
|
||||
.. Examples
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
.. code-block:: yaml+jinja
|
||||
|
||||
- name: Manage Keycloak file:delete authorization scope
|
||||
keycloak_authz_authorization_scope:
|
||||
name: file:delete
|
||||
state: present
|
||||
display_name: File delete
|
||||
client_id: myclient
|
||||
realm: myrealm
|
||||
auth_keycloak_url: http://localhost:8080
|
||||
auth_username: keycloak
|
||||
auth_password: keycloak
|
||||
auth_realm: master
|
||||
|
||||
|
||||
|
||||
.. 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-end_state"></div>
|
||||
<p class="ansible-option-title"><strong>end_state</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-end_state" title="Permalink to this return value"></a>
|
||||
<p class="ansible-option-type-line">
|
||||
<span class="ansible-option-type">complex</span>
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>Representation of the authorization scope after module execution.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> on success</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="return-end_state/display_name"></div>
|
||||
<p class="ansible-option-title"><strong>display_name</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-end_state/display_name" 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-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>Display name of the authorization scope.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> when <code class="ansible-option-value literal notranslate"><a class="reference internal" href="#parameter-state"><span class="std std-ref"><span class="pre">state=present</span></span></a></code></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">"File delete"</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="return-end_state/icon_uri"></div>
|
||||
<p class="ansible-option-title"><strong>icon_uri</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-end_state/icon_uri" 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-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>Icon URI for the authorization scope.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> when <code class="ansible-option-value literal notranslate"><a class="reference internal" href="#parameter-state"><span class="std std-ref"><span class="pre">state=present</span></span></a></code></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">"http://localhost/icon.png"</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="return-end_state/id"></div>
|
||||
<p class="ansible-option-title"><strong>id</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-end_state/id" 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-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>ID of the authorization scope.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> when <code class="ansible-option-value literal notranslate"><a class="reference internal" href="#parameter-state"><span class="std std-ref"><span class="pre">state=present</span></span></a></code></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">"a6ab1cf2-1001-40ec-9f39-48f23b6a0a41"</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="return-end_state/name"></div>
|
||||
<p class="ansible-option-title"><strong>name</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-end_state/name" 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-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>Name of the authorization scope.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> when <code class="ansible-option-value literal notranslate"><a class="reference internal" href="#parameter-state"><span class="std std-ref"><span class="pre">state=present</span></span></a></code></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">"file:delete"</code></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>Message as to what action was taken.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> always</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
.. Status (Presently only deprecated)
|
||||
|
||||
|
||||
.. Authors
|
||||
|
||||
Authors
|
||||
~~~~~~~
|
||||
|
||||
- Samuli Seppänen (@mattock)
|
||||
|
||||
|
||||
.. Extra links
|
||||
|
||||
|
||||
.. Parsing errors
|
||||
596
main/_sources/plugins/keycloak_authz_custom_policy.rst.txt
Normal file
596
main/_sources/plugins/keycloak_authz_custom_policy.rst.txt
Normal file
@@ -0,0 +1,596 @@
|
||||
.. Document meta
|
||||
|
||||
:orphan:
|
||||
|
||||
.. |antsibull-internal-nbsp| unicode:: 0xA0
|
||||
:trim:
|
||||
|
||||
.. meta::
|
||||
:antsibull-docs: 2.24.0
|
||||
|
||||
.. Anchors
|
||||
|
||||
.. _ansible_collections.middleware_automation.keycloak.keycloak_authz_custom_policy_module:
|
||||
|
||||
.. Anchors: short name for ansible.builtin
|
||||
|
||||
.. Title
|
||||
|
||||
keycloak_authz_custom_policy -- Allows administration of Keycloak client custom Javascript policies using Keycloak API
|
||||
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
.. 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_authz_custom_policy`.
|
||||
|
||||
.. 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 the administration of Keycloak client custom Javascript using the Keycloak REST API. Custom Javascript policies are only available if a client has Authorization enabled and if they have been deployed to the Keycloak server as JAR files.
|
||||
- This module requires access to the REST API using OpenID Connect; the user connecting and the realm being used must have the requisite access rights. In a default Keycloak installation, admin\-cli and an admin user would work, as would a separate realm definition with the scope tailored to your needs and a user having the expected roles.
|
||||
- The names of module options are snake\_cased versions of the camelCase options used by Keycloak. The Authorization Services paths and payloads have not officially been documented by the Keycloak project. \ `https://www.puppeteers.net/blog/keycloak\-authorization\-services\-rest\-api\-paths\-and\-payload/ <https://www.puppeteers.net/blog/keycloak-authorization-services-rest-api-paths-and-payload/>`__.
|
||||
|
||||
|
||||
.. 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">"admin-cli"</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-client_id"></div>
|
||||
<p class="ansible-option-title"><strong>client_id</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-client_id" 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-cell">
|
||||
<p>The <code class="ansible-value literal notranslate">clientId</code> of the Keycloak client that should have the custom policy attached to it.</p>
|
||||
<p>This is usually a human-readable name of the Keycloak client.</p>
|
||||
</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">"Ansible"</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-name"></div>
|
||||
<p class="ansible-option-title"><strong>name</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-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-cell">
|
||||
<p>Name of the custom policy to create.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-policy_type"></div>
|
||||
<p class="ansible-option-title"><strong>policy_type</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-policy_type" 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-cell">
|
||||
<p>The type of the policy. This must match the name of the custom policy deployed to the server.</p>
|
||||
<p>Multiple policies pointing to the same policy type can be created, but their names have to differ.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-realm"></div>
|
||||
<p class="ansible-option-title"><strong>realm</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-realm" 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-cell">
|
||||
<p>The name of the Keycloak realm the Keycloak client is in.</p>
|
||||
</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 custom policy.</p>
|
||||
<p>On <code class="ansible-value literal notranslate">present</code>, the custom policy is created (or updated if it exists already).</p>
|
||||
<p>On <code class="ansible-value literal notranslate">absent</code>, the custom policy 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>"present"</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">"absent"</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_authz_custom_policy_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_authz_custom_policy_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_authz_custom_policy_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-none:`none`
|
||||
|
||||
|
||||
.. 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
|
||||
|
||||
|
||||
.. Seealso
|
||||
|
||||
|
||||
.. Examples
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
.. code-block:: yaml+jinja
|
||||
|
||||
- name: Manage Keycloak custom authorization policy
|
||||
middleware_automation.keycloak.keycloak_authz_custom_policy:
|
||||
name: OnlyOwner
|
||||
state: present
|
||||
policy_type: script-policy.js
|
||||
client_id: myclient
|
||||
realm: myrealm
|
||||
auth_keycloak_url: http://localhost:8080
|
||||
auth_username: keycloak
|
||||
auth_password: keycloak
|
||||
auth_realm: master
|
||||
|
||||
|
||||
|
||||
.. 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-end_state"></div>
|
||||
<p class="ansible-option-title"><strong>end_state</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-end_state" 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>Representation of the custom policy after module execution.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> on success</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="return-end_state/name"></div>
|
||||
<p class="ansible-option-title"><strong>name</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-end_state/name" 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-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>Name of the custom policy.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> when <em>state=present</em></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">"file:delete"</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="return-end_state/policy_type"></div>
|
||||
<p class="ansible-option-title"><strong>policy_type</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-end_state/policy_type" 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-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>Type of custom policy.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> when <em>state=present</em></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">"File delete"</code></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>Message as to what action was taken.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> always</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
.. Status (Presently only deprecated)
|
||||
|
||||
|
||||
.. Authors
|
||||
|
||||
Authors
|
||||
~~~~~~~
|
||||
|
||||
- Samuli Seppänen (@mattock)
|
||||
|
||||
|
||||
.. Extra links
|
||||
|
||||
|
||||
.. Parsing errors
|
||||
815
main/_sources/plugins/keycloak_authz_permission.rst.txt
Normal file
815
main/_sources/plugins/keycloak_authz_permission.rst.txt
Normal file
@@ -0,0 +1,815 @@
|
||||
.. Document meta
|
||||
|
||||
:orphan:
|
||||
|
||||
.. |antsibull-internal-nbsp| unicode:: 0xA0
|
||||
:trim:
|
||||
|
||||
.. meta::
|
||||
:antsibull-docs: 2.24.0
|
||||
|
||||
.. Anchors
|
||||
|
||||
.. _ansible_collections.middleware_automation.keycloak.keycloak_authz_permission_module:
|
||||
|
||||
.. Anchors: short name for ansible.builtin
|
||||
|
||||
.. Title
|
||||
|
||||
keycloak_authz_permission -- Allows administration of Keycloak client authorization permissions using Keycloak API
|
||||
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
.. 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_authz_permission`.
|
||||
|
||||
.. 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 the administration of Keycloak client authorization permissions using the Keycloak REST API. Authorization permissions are only available if a client has Authorization enabled.
|
||||
- There are some peculiarities in JSON paths and payloads for authorization permissions. In particular POST and PUT operations are targeted at permission endpoints, whereas GET requests go to policies endpoint. To make matters more interesting the JSON responses from GET requests return data in a different format than what is expected for POST and PUT. The end result is that it is not possible to detect changes to things like policies, scopes or resources \- at least not without a large number of additional API calls. Therefore this module always updates authorization permissions instead of attempting to determine if changes are truly needed.
|
||||
- This module requires access to the REST API using OpenID Connect; the user connecting and the realm being used must have the requisite access rights. In a default Keycloak installation, admin\-cli and an admin user would work, as would a separate realm definition with the scope tailored to your needs and a user having the expected roles.
|
||||
- The names of module options are snake\_cased versions of the camelCase options used by Keycloak. The Authorization Services paths and payloads have not officially been documented by the Keycloak project. \ `https://www.puppeteers.net/blog/keycloak\-authorization\-services\-rest\-api\-paths\-and\-payload/ <https://www.puppeteers.net/blog/keycloak-authorization-services-rest-api-paths-and-payload/>`__.
|
||||
|
||||
|
||||
.. 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">"admin-cli"</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-client_id"></div>
|
||||
<p class="ansible-option-title"><strong>client_id</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-client_id" 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-cell">
|
||||
<p>The clientId of the keycloak client that should have the authorization scope.</p>
|
||||
<p>This is usually a human-readable name of the Keycloak client.</p>
|
||||
</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-decision_strategy"></div>
|
||||
<p class="ansible-option-title"><strong>decision_strategy</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-decision_strategy" 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>The decision strategy to use with this permission.</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>"UNANIMOUS"</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">"AFFIRMATIVE"</code></p></li>
|
||||
<li><p><code class="ansible-value literal notranslate ansible-option-choices-entry">"CONSENSUS"</code></p></li>
|
||||
</ul>
|
||||
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-description"></div>
|
||||
<p class="ansible-option-title"><strong>description</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-description" 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>The description of the authorization permission.</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">"Ansible"</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-name"></div>
|
||||
<p class="ansible-option-title"><strong>name</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-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-cell">
|
||||
<p>Name of the authorization permission to create.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-permission_type"></div>
|
||||
<p class="ansible-option-title"><strong>permission_type</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-permission_type" 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-cell">
|
||||
<p>The type of authorization permission.</p>
|
||||
<p>On <code class="ansible-value literal notranslate">scope</code> create a scope-based permission.</p>
|
||||
<p>On <code class="ansible-value literal notranslate">resource</code> create a resource-based permission.</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">"resource"</code></p></li>
|
||||
<li><p><code class="ansible-value literal notranslate ansible-option-choices-entry">"scope"</code></p></li>
|
||||
</ul>
|
||||
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-policies"></div>
|
||||
<p class="ansible-option-title"><strong>policies</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-policies" 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-cell">
|
||||
<p>Policy names to attach to this permission.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-default-bold">Default:</strong> <code class="ansible-value literal notranslate ansible-option-default">[]</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-realm"></div>
|
||||
<p class="ansible-option-title"><strong>realm</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-realm" 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-cell">
|
||||
<p>The name of the Keycloak realm the Keycloak client is in.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<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-even">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-resources"></div>
|
||||
<p class="ansible-option-title"><strong>resources</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-resources" 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-cell">
|
||||
<p>Resource names to attach to this permission.</p>
|
||||
<p>Scope-based permissions can only include one resource.</p>
|
||||
<p>Resource-based permissions can include multiple resources.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-default-bold">Default:</strong> <code class="ansible-value literal notranslate ansible-option-default">[]</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-scopes"></div>
|
||||
<p class="ansible-option-title"><strong>scopes</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-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-cell">
|
||||
<p>Scope names to attach to this permission.</p>
|
||||
<p>Resource-based permissions cannot have scopes attached to them.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-default-bold">Default:</strong> <code class="ansible-value literal notranslate ansible-option-default">[]</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<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 authorization permission.</p>
|
||||
<p>On <code class="ansible-value literal notranslate">present</code>, the authorization permission is created (or updated if it exists already).</p>
|
||||
<p>On <code class="ansible-value literal notranslate">absent</code>, the authorization permission 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>"present"</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">"absent"</code></p></li>
|
||||
</ul>
|
||||
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<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-even">
|
||||
<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_authz_permission_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_authz_permission_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_authz_permission_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-none:`none`
|
||||
|
||||
|
||||
.. 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
|
||||
|
||||
|
||||
.. Seealso
|
||||
|
||||
|
||||
.. Examples
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
.. code-block:: yaml+jinja
|
||||
|
||||
- name: Manage scope-based Keycloak authorization permission
|
||||
middleware_automation.keycloak.keycloak_authz_permission:
|
||||
name: ScopePermission
|
||||
state: present
|
||||
description: Scope permission
|
||||
permission_type: scope
|
||||
scopes:
|
||||
- file:delete
|
||||
policies:
|
||||
- Default Policy
|
||||
client_id: myclient
|
||||
realm: myrealm
|
||||
auth_keycloak_url: http://localhost:8080
|
||||
auth_username: keycloak
|
||||
auth_password: keycloak
|
||||
auth_realm: master
|
||||
|
||||
- name: Manage resource-based Keycloak authorization permission
|
||||
middleware_automation.keycloak.keycloak_authz_permission:
|
||||
name: ResourcePermission
|
||||
state: present
|
||||
description: Resource permission
|
||||
permission_type: resource
|
||||
resources:
|
||||
- Default Resource
|
||||
policies:
|
||||
- Default Policy
|
||||
client_id: myclient
|
||||
realm: myrealm
|
||||
auth_keycloak_url: http://localhost:8080
|
||||
auth_username: keycloak
|
||||
auth_password: keycloak
|
||||
auth_realm: master
|
||||
|
||||
|
||||
|
||||
.. 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-end_state"></div>
|
||||
<p class="ansible-option-title"><strong>end_state</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-end_state" title="Permalink to this return value"></a>
|
||||
<p class="ansible-option-type-line">
|
||||
<span class="ansible-option-type">complex</span>
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>Representation of the authorization permission after module execution.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> on success</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="return-end_state/decisionStrategy"></div>
|
||||
<p class="ansible-option-title"><strong>decisionStrategy</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-end_state/decisionStrategy" 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-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>The decision strategy to use.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> when <code class="ansible-option-value literal notranslate"><a class="reference internal" href="#parameter-state"><span class="std std-ref"><span class="pre">state=present</span></span></a></code></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">"UNANIMOUS"</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="return-end_state/description"></div>
|
||||
<p class="ansible-option-title"><strong>description</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-end_state/description" 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-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>Description of the authorization permission.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> when <code class="ansible-option-value literal notranslate"><a class="reference internal" href="#parameter-state"><span class="std std-ref"><span class="pre">state=present</span></span></a></code></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">"Resource Permission"</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="return-end_state/id"></div>
|
||||
<p class="ansible-option-title"><strong>id</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-end_state/id" 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-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>ID of the authorization permission.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> when <code class="ansible-option-value literal notranslate"><a class="reference internal" href="#parameter-state"><span class="std std-ref"><span class="pre">state=present</span></span></a></code></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">"9da05cd2-b273-4354-bbd8-0c133918a454"</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="return-end_state/logic"></div>
|
||||
<p class="ansible-option-title"><strong>logic</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-end_state/logic" 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-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>The logic used for the permission (part of the payload, but has a fixed value).</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> when <code class="ansible-option-value literal notranslate"><a class="reference internal" href="#parameter-state"><span class="std std-ref"><span class="pre">state=present</span></span></a></code></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">"POSITIVE"</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="return-end_state/name"></div>
|
||||
<p class="ansible-option-title"><strong>name</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-end_state/name" 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-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>Name of the authorization permission.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> when <code class="ansible-option-value literal notranslate"><a class="reference internal" href="#parameter-state"><span class="std std-ref"><span class="pre">state=present</span></span></a></code></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">"ResourcePermission"</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="return-end_state/policies"></div>
|
||||
<p class="ansible-option-title"><strong>policies</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-end_state/policies" title="Permalink to this return value"></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-cell">
|
||||
<p>IDs of policies attached to this permission.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> when <code class="ansible-option-value literal notranslate"><a class="reference internal" href="#parameter-state"><span class="std std-ref"><span class="pre">state=present</span></span></a></code></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">["9da05cd2-b273-4354-bbd8-0c133918a454"]</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="return-end_state/resources"></div>
|
||||
<p class="ansible-option-title"><strong>resources</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-end_state/resources" title="Permalink to this return value"></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-cell">
|
||||
<p>IDs of resources attached to this permission.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> when <code class="ansible-option-value literal notranslate"><a class="reference internal" href="#parameter-state"><span class="std std-ref"><span class="pre">state=present</span></span></a></code></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">["49e052ff-100d-4b79-a9dd-52669ed3c11d"]</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="return-end_state/scopes"></div>
|
||||
<p class="ansible-option-title"><strong>scopes</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-end_state/scopes" title="Permalink to this return value"></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-cell">
|
||||
<p>IDs of scopes attached to this permission.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> when <code class="ansible-option-value literal notranslate"><a class="reference internal" href="#parameter-state"><span class="std std-ref"><span class="pre">state=present</span></span></a></code></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">["9da05cd2-b273-4354-bbd8-0c133918a454"]</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="return-end_state/type"></div>
|
||||
<p class="ansible-option-title"><strong>type</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-end_state/type" 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-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>Type of the authorization permission.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> when <code class="ansible-option-value literal notranslate"><a class="reference internal" href="#parameter-state"><span class="std std-ref"><span class="pre">state=present</span></span></a></code></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">"resource"</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
|
||||
<tr class="row-even">
|
||||
<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>Message as to what action was taken.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> always</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
.. Status (Presently only deprecated)
|
||||
|
||||
|
||||
.. Authors
|
||||
|
||||
Authors
|
||||
~~~~~~~
|
||||
|
||||
- Samuli Seppänen (@mattock)
|
||||
|
||||
|
||||
.. Extra links
|
||||
|
||||
|
||||
.. Parsing errors
|
||||
637
main/_sources/plugins/keycloak_authz_permission_info.rst.txt
Normal file
637
main/_sources/plugins/keycloak_authz_permission_info.rst.txt
Normal file
@@ -0,0 +1,637 @@
|
||||
.. Document meta
|
||||
|
||||
:orphan:
|
||||
|
||||
.. |antsibull-internal-nbsp| unicode:: 0xA0
|
||||
:trim:
|
||||
|
||||
.. meta::
|
||||
:antsibull-docs: 2.24.0
|
||||
|
||||
.. Anchors
|
||||
|
||||
.. _ansible_collections.middleware_automation.keycloak.keycloak_authz_permission_info_module:
|
||||
|
||||
.. Anchors: short name for ansible.builtin
|
||||
|
||||
.. Title
|
||||
|
||||
keycloak_authz_permission_info -- Query Keycloak client authorization permissions information
|
||||
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
.. 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_authz_permission_info`.
|
||||
|
||||
.. 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 querying information about Keycloak client authorization permissions from the resources endpoint using the Keycloak REST API. Authorization permissions are only available if a client has Authorization enabled.
|
||||
- This module requires access to the REST API using OpenID Connect; the user connecting and the realm being used must have the requisite access rights. In a default Keycloak installation, admin\-cli and an admin user would work, as would a separate realm definition with the scope tailored to your needs and a user having the expected roles.
|
||||
- The names of module options are snake\_cased versions of the camelCase options used by Keycloak. The Authorization Services paths and payloads have not officially been documented by the Keycloak project. \ `https://www.puppeteers.net/blog/keycloak\-authorization\-services\-rest\-api\-paths\-and\-payload/ <https://www.puppeteers.net/blog/keycloak-authorization-services-rest-api-paths-and-payload/>`__.
|
||||
|
||||
|
||||
.. 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">"admin-cli"</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-client_id"></div>
|
||||
<p class="ansible-option-title"><strong>client_id</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-client_id" 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-cell">
|
||||
<p>The clientId of the keycloak client that should have the authorization scope.</p>
|
||||
<p>This is usually a human-readable name of the Keycloak client.</p>
|
||||
</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">"Ansible"</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-name"></div>
|
||||
<p class="ansible-option-title"><strong>name</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-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-cell">
|
||||
<p>Name of the authorization permission to create.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-realm"></div>
|
||||
<p class="ansible-option-title"><strong>realm</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-realm" 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-cell">
|
||||
<p>The name of the Keycloak realm the Keycloak client is in.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<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-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_authz_permission_info_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_authz_permission_info_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`
|
||||
|
||||
This action does not modify state.
|
||||
|
||||
|
||||
.. 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_authz_permission_info_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-na:`N/A`
|
||||
|
||||
This action does not modify state.
|
||||
|
||||
|
||||
.. 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
|
||||
|
||||
|
||||
.. Seealso
|
||||
|
||||
|
||||
.. Examples
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
.. code-block:: yaml+jinja
|
||||
|
||||
- name: Query Keycloak authorization permission
|
||||
middleware_automation.keycloak.keycloak_authz_permission_info:
|
||||
name: ScopePermission
|
||||
client_id: myclient
|
||||
realm: myrealm
|
||||
auth_keycloak_url: http://localhost:8080
|
||||
auth_username: keycloak
|
||||
auth_password: keycloak
|
||||
auth_realm: master
|
||||
|
||||
|
||||
|
||||
.. 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-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>Message as to what action was taken.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> always</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="return-queried_state"></div>
|
||||
<p class="ansible-option-title"><strong>queried_state</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-queried_state" title="Permalink to this return value"></a>
|
||||
<p class="ansible-option-type-line">
|
||||
<span class="ansible-option-type">complex</span>
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>State of the resource (a policy) as seen by Keycloak.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> on success</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="return-queried_state/config"></div>
|
||||
<p class="ansible-option-title"><strong>config</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-queried_state/config" 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-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>Configuration of the permission (empty in all observed cases).</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> success</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">{}</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="return-queried_state/decisionStrategy"></div>
|
||||
<p class="ansible-option-title"><strong>decisionStrategy</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-queried_state/decisionStrategy" 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-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>The decision strategy.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> success</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">"UNANIMOUS"</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="return-queried_state/description"></div>
|
||||
<p class="ansible-option-title"><strong>description</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-queried_state/description" 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-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>Description of the authorization permission.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> success</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">"Resource Permission"</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="return-queried_state/id"></div>
|
||||
<p class="ansible-option-title"><strong>id</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-queried_state/id" 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-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>ID of the authorization permission.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> success</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">"9da05cd2-b273-4354-bbd8-0c133918a454"</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="return-queried_state/logic"></div>
|
||||
<p class="ansible-option-title"><strong>logic</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-queried_state/logic" 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-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>The logic used for the permission (part of the payload, but has a fixed value).</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> success</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">"POSITIVE"</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="return-queried_state/name"></div>
|
||||
<p class="ansible-option-title"><strong>name</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-queried_state/name" 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-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>Name of the authorization permission.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> success</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">"ResourcePermission"</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="return-queried_state/type"></div>
|
||||
<p class="ansible-option-title"><strong>type</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-queried_state/type" 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-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>Type of the authorization permission.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> success</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">"resource"</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
.. Status (Presently only deprecated)
|
||||
|
||||
|
||||
.. Authors
|
||||
|
||||
Authors
|
||||
~~~~~~~
|
||||
|
||||
- Samuli Seppänen (@mattock)
|
||||
|
||||
|
||||
.. Extra links
|
||||
|
||||
|
||||
.. Parsing errors
|
||||
@@ -16,8 +16,8 @@
|
||||
|
||||
.. Title
|
||||
|
||||
keycloak_client -- Allows administration of Keycloak clients via Keycloak API
|
||||
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
keycloak_client -- Allows administration of Keycloak clients using Keycloak API
|
||||
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
.. Collection note
|
||||
|
||||
@@ -33,6 +33,9 @@ keycloak_client -- Allows administration of Keycloak clients via Keycloak API
|
||||
|
||||
.. version_added
|
||||
|
||||
.. rst-class:: ansible-version-added
|
||||
|
||||
New in middleware\_automation.keycloak 3.0.0
|
||||
|
||||
.. contents::
|
||||
:local:
|
||||
@@ -46,9 +49,9 @@ Synopsis
|
||||
|
||||
.. Description
|
||||
|
||||
- This module allows the administration of Keycloak clients via the Keycloak REST API. It requires access to the REST API via OpenID Connect; the user connecting and the client being used must have the requisite access rights. In a default Keycloak installation, admin\-cli and an admin user would work, as would a separate client definition with the scope tailored to your needs and a user having the expected roles.
|
||||
- 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/8.0/rest\-api/index.html <https://www.keycloak.org/docs-api/8.0/rest-api/index.html>`__. Aliases are provided so camelCased versions can be used as well.
|
||||
- The Keycloak API does not always sanity check inputs e.g. you can set SAML\-specific settings on an OpenID Connect client for instance and vice versa. Be careful. If you do not specify a setting, usually a sensible default is chosen.
|
||||
- This module allows the administration of Keycloak clients using the Keycloak REST API. It requires access to the REST API using OpenID Connect; the user connecting and the client being used must have the requisite access rights. In a default Keycloak installation, admin\-cli and an admin user would work, as would a separate client definition with the scope tailored to your needs and a user having the expected roles.
|
||||
- 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/latest/rest\-api/index.html <https://www.keycloak.org/docs-api/latest/rest-api/index.html>`__. Aliases are provided so camelCased versions can be used as well.
|
||||
- The Keycloak API does not always sanity check inputs, for example you can set SAML\-specific settings on an OpenID Connect client for instance and the other way around. Be careful. If you do not specify a setting, usually a sensible default is chosen.
|
||||
|
||||
|
||||
.. Aliases
|
||||
@@ -88,7 +91,7 @@ Parameters
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>URL to the admin interface of the client. This is 'adminUrl' in the Keycloak REST API.</p>
|
||||
<p>URL to the admin interface of the client. This is <code class='docutils literal notranslate'>adminUrl</code> in the Keycloak REST API.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
@@ -101,7 +104,6 @@ Parameters
|
||||
<p class="ansible-option-type-line">
|
||||
<span class="ansible-option-type">boolean</span>
|
||||
</p>
|
||||
<p><em class="ansible-option-versionadded">added in middleware_automation.keycloak 4.7.0</em></p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>Whether or not to display this client in account console, even if the user does not have an active session.</p>
|
||||
@@ -123,7 +125,7 @@ Parameters
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>A dict of further attributes for this client. This can contain various configuration settings; an example is given in the examples section. While an exhaustive list of permissible options is not available; possible options as of Keycloak 3.4 are listed below. The Keycloak API does not validate whether a given option is appropriate for the protocol used; if specified anyway, Keycloak will simply not use it.</p>
|
||||
<p>A dict of further attributes for this client. This can contain various configuration settings; an example is given in the examples section. While an exhaustive list of permissible options is not available; possible options as of Keycloak 3.4 are listed below. The Keycloak API does not validate whether a given option is appropriate for the protocol used; if specified anyway, Keycloak does not use it.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
@@ -253,7 +255,7 @@ Parameters
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>For SAML clients, boolean specifying whether REDIRECT signing key lookup should be optimized through inclusion of the signing key id in the SAML Extensions element.</p>
|
||||
<p>For SAML clients, boolean specifying whether REDIRECT signing key lookup should be optimized through inclusion of the signing key ID in the SAML Extensions element.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
@@ -344,7 +346,7 @@ Parameters
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>For SAML clients, the NameID format to use (one of <code class="ansible-value literal notranslate">username</code>, <code class="ansible-value literal notranslate">email</code>, <code class="ansible-value literal notranslate">transient</code>, or <code class="ansible-value literal notranslate">persistent</code>)</p>
|
||||
<p>For SAML clients, the NameID format to use (one of <code class="ansible-value literal notranslate">username</code>, <code class="ansible-value literal notranslate">email</code>, <code class="ansible-value literal notranslate">transient</code>, or <code class="ansible-value literal notranslate">persistent</code>).</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
@@ -370,7 +372,7 @@ Parameters
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>SAML POST binding url for the client's single logout service.</p>
|
||||
<p>SAML POST binding URL for the client's single logout service.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
@@ -383,7 +385,7 @@ Parameters
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>SAML redirect binding url for the client's single logout service.</p>
|
||||
<p>SAML redirect binding URL for the client's single logout service.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
@@ -420,7 +422,6 @@ Parameters
|
||||
<p class="ansible-option-type-line">
|
||||
<span class="ansible-option-type">boolean</span>
|
||||
</p>
|
||||
<p><em class="ansible-option-versionadded">added in middleware_automation.keycloak 9.5.0</em></p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>For OpenID-Connect clients, boolean specifying whether to allow <code class='docutils literal notranslate'>x509.subjectdn</code> as regular expression.</p>
|
||||
@@ -440,10 +441,9 @@ Parameters
|
||||
<p class="ansible-option-type-line">
|
||||
<span class="ansible-option-type">string</span>
|
||||
</p>
|
||||
<p><em class="ansible-option-versionadded">added in middleware_automation.keycloak 9.5.0</em></p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>For OpenID-Connect clients, subject which will be used to authenticate the client.</p>
|
||||
<p>For OpenID-Connect clients, subject which is used to authenticate the client.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
|
||||
@@ -543,7 +543,6 @@ Parameters
|
||||
<p class="ansible-option-type-line">
|
||||
<span class="ansible-option-type">dictionary</span>
|
||||
</p>
|
||||
<p><em class="ansible-option-versionadded">added in middleware_automation.keycloak 3.4.0</em></p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>Override realm authentication flow bindings.</p>
|
||||
@@ -576,7 +575,6 @@ Parameters
|
||||
<p class="ansible-option-type-line">
|
||||
<span class="ansible-option-type">string</span>
|
||||
</p>
|
||||
<p><em class="ansible-option-versionadded">added in middleware_automation.keycloak 9.1.0</em></p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>Flow name of the browser authentication flow.</p>
|
||||
@@ -613,7 +611,6 @@ Parameters
|
||||
<p class="ansible-option-type-line">
|
||||
<span class="ansible-option-type">string</span>
|
||||
</p>
|
||||
<p><em class="ansible-option-versionadded">added in middleware_automation.keycloak 9.1.0</em></p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>Flow name of the direct grant authentication flow.</p>
|
||||
@@ -633,7 +630,7 @@ Parameters
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>Are authorization services enabled for this client or not (OpenID connect). This is 'authorizationServicesEnabled' in the Keycloak REST API.</p>
|
||||
<p>Are authorization services enabled for this client or not (OpenID connect). This is <code class='docutils literal notranslate'>authorizationServicesEnabled</code> in the Keycloak REST API.</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>
|
||||
@@ -654,10 +651,26 @@ Parameters
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>a data structure defining the authorization settings for this client. For reference, please see the Keycloak API docs at <a href='https://www.keycloak.org/docs-api/8.0/rest-api/index.html#_resourceserverrepresentation'>https://www.keycloak.org/docs-api/8.0/rest-api/index.html#_resourceserverrepresentation</a>. This is 'authorizationSettings' in the Keycloak REST API.</p>
|
||||
<p>A data structure defining the authorization settings for this client. For reference, please see the Keycloak API docs at <a href='https://www.keycloak.org/docs-api/latest/rest-api/index.html#_resourceserverrepresentation'>https://www.keycloak.org/docs-api/latest/rest-api/index.html#_resourceserverrepresentation</a>. This is <code class='docutils literal notranslate'>authorizationSettings</code> in the Keycloak REST API.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-backchannel_logout_url"></div>
|
||||
<div class="ansibleOptionAnchor" id="parameter-backchannelLogoutUrl"></div>
|
||||
<p class="ansible-option-title"><strong>backchannel_logout_url</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-backchannel_logout_url" title="Permalink to this option"></a>
|
||||
<p class="ansible-option-type-line"><span class="ansible-option-aliases">aliases: backchannelLogoutUrl</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>URL that will cause the client to log itself out when a logout request is sent to this realm.</p>
|
||||
<p>This is stored as <code class='docutils literal notranslate'>backchannel.logout.url</code> in the client attributes.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-base_url"></div>
|
||||
<div class="ansibleOptionAnchor" id="parameter-baseUrl"></div>
|
||||
@@ -669,10 +682,10 @@ Parameters
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>Default URL to use when the auth server needs to redirect or link back to the client This is 'baseUrl' in the Keycloak REST API.</p>
|
||||
<p>Default URL to use when the auth server needs to redirect or link back to the client This is <code class='docutils literal notranslate'>baseUrl</code> in the Keycloak REST API.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-bearer_only"></div>
|
||||
<div class="ansibleOptionAnchor" id="parameter-bearerOnly"></div>
|
||||
@@ -684,7 +697,7 @@ Parameters
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>The access type of this client is bearer-only. This is 'bearerOnly' in the Keycloak REST API.</p>
|
||||
<p>The access type of this client is bearer-only. This is <code class='docutils literal notranslate'>bearerOnly</code> in the Keycloak REST API.</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>
|
||||
@@ -693,7 +706,7 @@ Parameters
|
||||
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-client_authenticator_type"></div>
|
||||
<div class="ansibleOptionAnchor" id="parameter-clientAuthenticatorType"></div>
|
||||
@@ -706,7 +719,7 @@ Parameters
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>How do clients authenticate with the auth server? Either <code class="ansible-value literal notranslate">client-secret</code>, <code class="ansible-value literal notranslate">client-jwt</code>, or <code class="ansible-value literal notranslate">client-x509</code> can be chosen. When using <code class="ansible-value literal notranslate">client-secret</code>, the module parameter <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-secret"><span class="std std-ref"><span class="pre">secret</span></span></a></strong></code> can set it, for <code class="ansible-value literal notranslate">client-jwt</code>, you can use the keys <code class='docutils literal notranslate'>use.jwks.url</code>, <code class='docutils literal notranslate'>jwks.url</code>, and <code class='docutils literal notranslate'>jwt.credential.certificate</code> in the <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-attributes"><span class="std std-ref"><span class="pre">attributes</span></span></a></strong></code> module parameter to configure its behavior. For <code class="ansible-value literal notranslate">client-x509</code> you can use the keys <code class='docutils literal notranslate'>x509.allow.regex.pattern.comparison</code> and <code class='docutils literal notranslate'>x509.subjectdn</code> in the <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-attributes"><span class="std std-ref"><span class="pre">attributes</span></span></a></strong></code> module parameter to configure which certificate(s) to accept.</p>
|
||||
<p>This is 'clientAuthenticatorType' in the Keycloak REST API.</p>
|
||||
<p>This is <code class='docutils literal notranslate'>clientAuthenticatorType</code> in the Keycloak REST API.</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">"client-secret"</code></p></li>
|
||||
@@ -716,7 +729,7 @@ Parameters
|
||||
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-client_id"></div>
|
||||
<div class="ansibleOptionAnchor" id="parameter-clientId"></div>
|
||||
@@ -728,7 +741,32 @@ Parameters
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>Client id of client to be worked on. This is usually an alphanumeric name chosen by you. Either this or <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-id"><span class="std std-ref"><span class="pre">id</span></span></a></strong></code> is required. If you specify both, <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-id"><span class="std std-ref"><span class="pre">id</span></span></a></strong></code> takes precedence. This is 'clientId' in the Keycloak REST API.</p>
|
||||
<p>Client ID of client to be worked on. This is usually an alphanumeric name chosen by you. Either this or <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-id"><span class="std std-ref"><span class="pre">id</span></span></a></strong></code> is required. If you specify both, <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-id"><span class="std std-ref"><span class="pre">id</span></span></a></strong></code> takes precedence. This is <code class='docutils literal notranslate'>clientId</code> in the Keycloak REST API.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-client_scopes_behavior"></div>
|
||||
<div class="ansibleOptionAnchor" id="parameter-clientScopesBehavior"></div>
|
||||
<p class="ansible-option-title"><strong>client_scopes_behavior</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-client_scopes_behavior" title="Permalink to this option"></a>
|
||||
<p class="ansible-option-type-line"><span class="ansible-option-aliases">aliases: clientScopesBehavior</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>Determine how <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-default_client_scopes"><span class="std std-ref"><span class="pre">default_client_scopes</span></span></a></strong></code> and <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-optional_client_scopes"><span class="std std-ref"><span class="pre">optional_client_scopes</span></span></a></strong></code> behave when updating an existing client.</p>
|
||||
<p><code class="ansible-value literal notranslate">ignore</code>: Do not change the client scopes of an existing client. This is the default for backward compatibility.</p>
|
||||
<p><code class="ansible-value literal notranslate">patch</code>: Add missing scopes, do not remove any missing scopes.</p>
|
||||
<p><code class="ansible-value literal notranslate">idempotent</code>: Make the client scopes exactly as specified, adding and removing scopes as needed.</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>"ignore"</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">"patch"</code></p></li>
|
||||
<li><p><code class="ansible-value literal notranslate ansible-option-choices-entry">"idempotent"</code></p></li>
|
||||
</ul>
|
||||
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
@@ -743,7 +781,7 @@ Parameters
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>Client template to use for this client. If it does not exist this field will silently be dropped. This is 'clientTemplate' in the Keycloak REST API.</p>
|
||||
<p>Client template to use for this client. If it does not exist this field is silently dropped. This is <code class='docutils literal notranslate'>clientTemplate</code> in the Keycloak REST API.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
@@ -754,7 +792,6 @@ Parameters
|
||||
<p class="ansible-option-type-line">
|
||||
<span class="ansible-option-type">integer</span>
|
||||
</p>
|
||||
<p><em class="ansible-option-versionadded">added in middleware_automation.keycloak 4.5.0</em></p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>Controls the HTTP connections timeout period (in seconds) to Keycloak API.</p>
|
||||
@@ -773,7 +810,7 @@ Parameters
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>If enabled, users have to consent to client access. This is 'consentRequired' in the Keycloak REST API.</p>
|
||||
<p>If enabled, users have to consent to client access. This is <code class='docutils literal notranslate'>consentRequired</code> in the Keycloak REST API.</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>
|
||||
@@ -793,10 +830,10 @@ Parameters
|
||||
<span class="ansible-option-type">list</span>
|
||||
/ <span class="ansible-option-elements">elements=string</span>
|
||||
</p>
|
||||
<p><em class="ansible-option-versionadded">added in middleware_automation.keycloak 4.7.0</em></p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>List of default client scopes.</p>
|
||||
<p>See <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-client_scopes_behavior"><span class="std std-ref"><span class="pre">client_scopes_behavior</span></span></a></strong></code> for how this behaves when updating an existing client.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
@@ -812,7 +849,7 @@ Parameters
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>list of default roles for this client. If the client roles referenced do not exist yet, they will be created. This is 'defaultRoles' in the Keycloak REST API.</p>
|
||||
<p>List of default roles for this client. If the client roles referenced do not exist yet, they are created. This is <code class='docutils literal notranslate'>defaultRoles</code> in the Keycloak REST API.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
@@ -840,7 +877,7 @@ Parameters
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>Are direct access grants enabled for this client or not (OpenID connect). This is 'directAccessGrantsEnabled' in the Keycloak REST API.</p>
|
||||
<p>Are direct access grants enabled for this client or not (OpenID connect). This is <code class='docutils literal notranslate'>directAccessGrantsEnabled</code> in the Keycloak REST API.</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>
|
||||
@@ -880,7 +917,7 @@ Parameters
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>Is frontchannel logout enabled for this client or not. This is 'frontchannelLogout' in the Keycloak REST API.</p>
|
||||
<p>Is frontchannel logout enabled for this client or not. This is <code class='docutils literal notranslate'>frontchannelLogout</code> in the Keycloak REST API.</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>
|
||||
@@ -901,7 +938,7 @@ Parameters
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>Is the "Full Scope Allowed" feature set for this client or not. This is 'fullScopeAllowed' in the Keycloak REST API.</p>
|
||||
<p>Is the "Full Scope Allowed" feature set for this client or not. This is <code class='docutils literal notranslate'>fullScopeAllowed</code> in the Keycloak REST API.</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>
|
||||
@@ -918,7 +955,6 @@ Parameters
|
||||
<p class="ansible-option-type-line">
|
||||
<span class="ansible-option-type">string</span>
|
||||
</p>
|
||||
<p><em class="ansible-option-versionadded">added in middleware_automation.keycloak 5.4.0</em></p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>Configures the HTTP User-Agent header.</p>
|
||||
@@ -935,7 +971,7 @@ Parameters
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>Id of client to be worked on. This is usually an UUID. Either this or <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-client_id"><span class="std std-ref"><span class="pre">client_id</span></span></a></strong></code> is required. If you specify both, this takes precedence.</p>
|
||||
<p>ID of client to be worked on. This is usually an UUID. Either this or <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-client_id"><span class="std std-ref"><span class="pre">client_id</span></span></a></strong></code> is required. If you specify both, this takes precedence.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
@@ -950,7 +986,7 @@ Parameters
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>Enable implicit flow for this client or not (OpenID connect). This is 'implicitFlowEnabled' in the Keycloak REST API.</p>
|
||||
<p>Enable implicit flow for this client or not (OpenID connect). This is <code class='docutils literal notranslate'>implicitFlowEnabled</code> in the Keycloak REST API.</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>
|
||||
@@ -984,7 +1020,7 @@ Parameters
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>Cluster node re-registration timeout for this client. This is 'nodeReRegistrationTimeout' in the Keycloak REST API.</p>
|
||||
<p>Cluster node re-registration timeout for this client. This is <code class='docutils literal notranslate'>nodeReRegistrationTimeout</code> in the Keycloak REST API.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
@@ -999,7 +1035,7 @@ Parameters
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>Revoke any tokens issued before this date for this client (this is a UNIX timestamp). This is 'notBefore' in the Keycloak REST API.</p>
|
||||
<p>Revoke any tokens issued before this date for this client (this is a UNIX timestamp). This is <code class='docutils literal notranslate'>notBefore</code> in the Keycloak REST API.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
@@ -1013,10 +1049,10 @@ Parameters
|
||||
<span class="ansible-option-type">list</span>
|
||||
/ <span class="ansible-option-elements">elements=string</span>
|
||||
</p>
|
||||
<p><em class="ansible-option-versionadded">added in middleware_automation.keycloak 4.7.0</em></p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>List of optional client scopes.</p>
|
||||
<p>See <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-client_scopes_behavior"><span class="std std-ref"><span class="pre">client_scopes_behavior</span></span></a></strong></code> for how this behaves when updating an existing client.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
@@ -1030,8 +1066,8 @@ Parameters
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>Type of client.</p>
|
||||
<p>At creation only, default value will be <code class="ansible-value literal notranslate">openid-connect</code> if <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-protocol"><span class="std std-ref"><span class="pre">protocol</span></span></a></strong></code> is omitted.</p>
|
||||
<p>The <code class="ansible-value literal notranslate">docker-v2</code> value was added in community.general 8.6.0.</p>
|
||||
<p>At creation only, default value is <code class="ansible-value literal notranslate">openid-connect</code> if <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-protocol"><span class="std std-ref"><span class="pre">protocol</span></span></a></strong></code> is omitted.</p>
|
||||
<p>The <code class="ansible-value literal notranslate">docker-v2</code> value was added in middleware_automation.keycloak 8.6.0.</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">"openid-connect"</code></p></li>
|
||||
@@ -1054,7 +1090,7 @@ Parameters
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>a list of dicts defining protocol mappers for this client. This is 'protocolMappers' in the Keycloak REST API.</p>
|
||||
<p>A list of dicts defining protocol mappers for this client. This is <code class='docutils literal notranslate'>protocolMappers</code> in the Keycloak REST API.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
@@ -1166,28 +1202,28 @@ Parameters
|
||||
</div></td>
|
||||
<td><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>The Keycloak-internal name of the type of this protocol-mapper. While an exhaustive list is impossible to provide since this may be extended through SPIs by the user of Keycloak, by default Keycloak as of 3.4 ships with at least:</p>
|
||||
<p><code class="ansible-value literal notranslate">docker-v2-allow-all-mapper</code></p>
|
||||
<p><code class="ansible-value literal notranslate">oidc-address-mapper</code></p>
|
||||
<p><code class="ansible-value literal notranslate">oidc-full-name-mapper</code></p>
|
||||
<p><code class="ansible-value literal notranslate">oidc-group-membership-mapper</code></p>
|
||||
<p><code class="ansible-value literal notranslate">oidc-hardcoded-claim-mapper</code></p>
|
||||
<p><code class="ansible-value literal notranslate">oidc-hardcoded-role-mapper</code></p>
|
||||
<p><code class="ansible-value literal notranslate">oidc-role-name-mapper</code></p>
|
||||
<p><code class="ansible-value literal notranslate">oidc-script-based-protocol-mapper</code></p>
|
||||
<p><code class="ansible-value literal notranslate">oidc-sha256-pairwise-sub-mapper</code></p>
|
||||
<p><code class="ansible-value literal notranslate">oidc-usermodel-attribute-mapper</code></p>
|
||||
<p><code class="ansible-value literal notranslate">oidc-usermodel-client-role-mapper</code></p>
|
||||
<p><code class="ansible-value literal notranslate">oidc-usermodel-property-mapper</code></p>
|
||||
<p><code class="ansible-value literal notranslate">oidc-usermodel-realm-role-mapper</code></p>
|
||||
<p><code class="ansible-value literal notranslate">oidc-usersessionmodel-note-mapper</code></p>
|
||||
<p><code class="ansible-value literal notranslate">saml-group-membership-mapper</code></p>
|
||||
<p><code class="ansible-value literal notranslate">saml-hardcode-attribute-mapper</code></p>
|
||||
<p><code class="ansible-value literal notranslate">saml-hardcode-role-mapper</code></p>
|
||||
<p><code class="ansible-value literal notranslate">saml-role-list-mapper</code></p>
|
||||
<p><code class="ansible-value literal notranslate">saml-role-name-mapper</code></p>
|
||||
<p><code class="ansible-value literal notranslate">saml-user-attribute-mapper</code></p>
|
||||
<p><code class="ansible-value literal notranslate">saml-user-property-mapper</code></p>
|
||||
<p><code class="ansible-value literal notranslate">saml-user-session-note-mapper</code></p>
|
||||
<p><code class="ansible-value literal notranslate">docker-v2-allow-all-mapper</code>.</p>
|
||||
<p><code class="ansible-value literal notranslate">oidc-address-mapper</code>.</p>
|
||||
<p><code class="ansible-value literal notranslate">oidc-full-name-mapper</code>.</p>
|
||||
<p><code class="ansible-value literal notranslate">oidc-group-membership-mapper</code>.</p>
|
||||
<p><code class="ansible-value literal notranslate">oidc-hardcoded-claim-mapper</code>.</p>
|
||||
<p><code class="ansible-value literal notranslate">oidc-hardcoded-role-mapper</code>.</p>
|
||||
<p><code class="ansible-value literal notranslate">oidc-role-name-mapper</code>.</p>
|
||||
<p><code class="ansible-value literal notranslate">oidc-script-based-protocol-mapper</code>.</p>
|
||||
<p><code class="ansible-value literal notranslate">oidc-sha256-pairwise-sub-mapper</code>.</p>
|
||||
<p><code class="ansible-value literal notranslate">oidc-usermodel-attribute-mapper</code>.</p>
|
||||
<p><code class="ansible-value literal notranslate">oidc-usermodel-client-role-mapper</code>.</p>
|
||||
<p><code class="ansible-value literal notranslate">oidc-usermodel-property-mapper</code>.</p>
|
||||
<p><code class="ansible-value literal notranslate">oidc-usermodel-realm-role-mapper</code>.</p>
|
||||
<p><code class="ansible-value literal notranslate">oidc-usersessionmodel-note-mapper</code>.</p>
|
||||
<p><code class="ansible-value literal notranslate">saml-group-membership-mapper</code>.</p>
|
||||
<p><code class="ansible-value literal notranslate">saml-hardcode-attribute-mapper</code>.</p>
|
||||
<p><code class="ansible-value literal notranslate">saml-hardcode-role-mapper</code>.</p>
|
||||
<p><code class="ansible-value literal notranslate">saml-role-list-mapper</code>.</p>
|
||||
<p><code class="ansible-value literal notranslate">saml-role-name-mapper</code>.</p>
|
||||
<p><code class="ansible-value literal notranslate">saml-user-attribute-mapper</code>.</p>
|
||||
<p><code class="ansible-value literal notranslate">saml-user-property-mapper</code>.</p>
|
||||
<p><code class="ansible-value literal notranslate">saml-user-session-note-mapper</code>.</p>
|
||||
<p>An exhaustive list of available mappers on your installation can be obtained on the admin console by going to Server Info -> Providers and looking under 'protocol-mapper'.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
@@ -1204,7 +1240,7 @@ Parameters
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>Is the access type for this client public or not. This is 'publicClient' in the Keycloak REST API.</p>
|
||||
<p>Is the access type for this client public or not. This is <code class='docutils literal notranslate'>publicClient</code> in the Keycloak REST API.</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>
|
||||
@@ -1240,10 +1276,23 @@ Parameters
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>Acceptable redirect URIs for this client. This is 'redirectUris' in the Keycloak REST API.</p>
|
||||
<p>Acceptable redirect URIs for this client. This is <code class='docutils literal notranslate'>redirectUris</code> in the Keycloak REST API.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<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-even">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-registered_nodes"></div>
|
||||
<div class="ansibleOptionAnchor" id="parameter-registeredNodes"></div>
|
||||
@@ -1255,10 +1304,10 @@ Parameters
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>dict of registered cluster nodes (with <code class='docutils literal notranslate'>nodename</code> as the key and last registration time as the value). This is 'registeredNodes' in the Keycloak REST API.</p>
|
||||
<p>Dict of registered cluster nodes (with <code class='docutils literal notranslate'>nodename</code> as the key and last registration time as the value). This is <code class='docutils literal notranslate'>registeredNodes</code> in the Keycloak REST API.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-registration_access_token"></div>
|
||||
<div class="ansibleOptionAnchor" id="parameter-registrationAccessToken"></div>
|
||||
@@ -1270,10 +1319,10 @@ Parameters
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>The registration access token provides access for clients to the client registration service. This is 'registrationAccessToken' in the Keycloak REST API.</p>
|
||||
<p>The registration access token provides access for clients to the client registration service. This is <code class='docutils literal notranslate'>registrationAccessToken</code> in the Keycloak REST API.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-root_url"></div>
|
||||
<div class="ansibleOptionAnchor" id="parameter-rootUrl"></div>
|
||||
@@ -1285,10 +1334,10 @@ Parameters
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>Root URL appended to relative URLs for this client. This is 'rootUrl' in the Keycloak REST API.</p>
|
||||
<p>Root URL appended to relative URLs for this client. This is <code class='docutils literal notranslate'>rootUrl</code> in the Keycloak REST API.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-secret"></div>
|
||||
<p class="ansible-option-title"><strong>secret</strong></p>
|
||||
@@ -1298,10 +1347,10 @@ Parameters
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>When using <code class="ansible-option-value literal notranslate"><a class="reference internal" href="#parameter-client_authenticator_type"><span class="std std-ref"><span class="pre">client_authenticator_type=client-secret</span></span></a></code> (the default), you can specify a secret here (otherwise one will be generated if it does not exit). If changing this secret, the module will not register a change currently (but the changed secret will be saved).</p>
|
||||
<p>When using <code class="ansible-option-value literal notranslate"><a class="reference internal" href="#parameter-client_authenticator_type"><span class="std std-ref"><span class="pre">client_authenticator_type=client-secret</span></span></a></code> (the default), you can specify a secret here (otherwise one is generated if it does not exit). If changing this secret, the module does not register a change currently (but the changed secret is saved).</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-service_accounts_enabled"></div>
|
||||
<div class="ansibleOptionAnchor" id="parameter-serviceAccountsEnabled"></div>
|
||||
@@ -1313,7 +1362,7 @@ Parameters
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>Are service accounts enabled for this client or not (OpenID connect). This is 'serviceAccountsEnabled' in the Keycloak REST API.</p>
|
||||
<p>Are service accounts enabled for this client or not (OpenID connect). This is <code class='docutils literal notranslate'>serviceAccountsEnabled</code> in the Keycloak REST API.</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>
|
||||
@@ -1322,7 +1371,7 @@ Parameters
|
||||
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-standard_flow_enabled"></div>
|
||||
<div class="ansibleOptionAnchor" id="parameter-standardFlowEnabled"></div>
|
||||
@@ -1334,7 +1383,7 @@ Parameters
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>Enable standard flow for this client or not (OpenID connect). This is 'standardFlowEnabled' in the Keycloak REST API.</p>
|
||||
<p>Enable standard flow for this client or not (OpenID connect). This is <code class='docutils literal notranslate'>standardFlowEnabled</code> in the Keycloak REST API.</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>
|
||||
@@ -1343,7 +1392,7 @@ Parameters
|
||||
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-state"></div>
|
||||
<p class="ansible-option-title"><strong>state</strong></p>
|
||||
@@ -1353,9 +1402,9 @@ Parameters
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>State of the client</p>
|
||||
<p>On <code class="ansible-value literal notranslate">present</code>, the client will be created (or updated if it exists already).</p>
|
||||
<p>On <code class="ansible-value literal notranslate">absent</code>, the client will be removed if it exists</p>
|
||||
<p>State of the client.</p>
|
||||
<p>On <code class="ansible-value literal notranslate">present</code>, the client are created (or updated if it exists already).</p>
|
||||
<p>On <code class="ansible-value literal notranslate">absent</code>, the client are 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>"present"</strong></code> <span class="ansible-option-choices-default-mark">← (default)</span></p></li>
|
||||
@@ -1364,7 +1413,7 @@ Parameters
|
||||
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-surrogate_auth_required"></div>
|
||||
<div class="ansibleOptionAnchor" id="parameter-surrogateAuthRequired"></div>
|
||||
@@ -1376,7 +1425,7 @@ Parameters
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>Whether or not surrogate auth is required. This is 'surrogateAuthRequired' in the Keycloak REST API.</p>
|
||||
<p>Whether or not surrogate auth is required. This is <code class='docutils literal notranslate'>surrogateAuthRequired</code> in the Keycloak REST API.</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>
|
||||
@@ -1385,7 +1434,7 @@ Parameters
|
||||
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<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>
|
||||
@@ -1393,13 +1442,12 @@ Parameters
|
||||
<p class="ansible-option-type-line">
|
||||
<span class="ansible-option-type">string</span>
|
||||
</p>
|
||||
<p><em class="ansible-option-versionadded">added in middleware_automation.keycloak 3.0.0</em></p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>Authentication token for Keycloak API.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-use_template_config"></div>
|
||||
<div class="ansibleOptionAnchor" id="parameter-useTemplateConfig"></div>
|
||||
@@ -1411,7 +1459,7 @@ Parameters
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>Whether or not to use configuration from the <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-client_template"><span class="std std-ref"><span class="pre">client_template</span></span></a></strong></code>. This is 'useTemplateConfig' in the Keycloak REST API.</p>
|
||||
<p>Whether or not to use configuration from the <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-client_template"><span class="std std-ref"><span class="pre">client_template</span></span></a></strong></code>. This is <code class='docutils literal notranslate'>useTemplateConfig</code> in the Keycloak REST API.</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>
|
||||
@@ -1420,7 +1468,7 @@ Parameters
|
||||
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-use_template_mappers"></div>
|
||||
<div class="ansibleOptionAnchor" id="parameter-useTemplateMappers"></div>
|
||||
@@ -1432,7 +1480,7 @@ Parameters
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>Whether or not to use mapper configuration from the <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-client_template"><span class="std std-ref"><span class="pre">client_template</span></span></a></strong></code>. This is 'useTemplateMappers' in the Keycloak REST API.</p>
|
||||
<p>Whether or not to use mapper configuration from the <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-client_template"><span class="std std-ref"><span class="pre">client_template</span></span></a></strong></code>. This is <code class='docutils literal notranslate'>useTemplateMappers</code> in the Keycloak REST API.</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>
|
||||
@@ -1441,7 +1489,7 @@ Parameters
|
||||
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-use_template_scope"></div>
|
||||
<div class="ansibleOptionAnchor" id="parameter-useTemplateScope"></div>
|
||||
@@ -1453,7 +1501,7 @@ Parameters
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>Whether or not to use scope configuration from the <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-client_template"><span class="std std-ref"><span class="pre">client_template</span></span></a></strong></code>. This is 'useTemplateScope' in the Keycloak REST API.</p>
|
||||
<p>Whether or not to use scope configuration from the <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-client_template"><span class="std std-ref"><span class="pre">client_template</span></span></a></strong></code>. This is <code class='docutils literal notranslate'>useTemplateScope</code> in the Keycloak REST API.</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>
|
||||
@@ -1462,6 +1510,24 @@ Parameters
|
||||
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-valid_post_logout_redirect_uris"></div>
|
||||
<div class="ansibleOptionAnchor" id="parameter-postLogoutRedirectUris"></div>
|
||||
<p class="ansible-option-title"><strong>valid_post_logout_redirect_uris</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-valid_post_logout_redirect_uris" title="Permalink to this option"></a>
|
||||
<p class="ansible-option-type-line"><span class="ansible-option-aliases">aliases: postLogoutRedirectUris</span></p>
|
||||
<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-cell">
|
||||
<p>Valid post logout redirect URIs for this client.</p>
|
||||
<p>This is stored as <code class='docutils literal notranslate'>post.logout.redirect.uris</code> in the client attributes.</p>
|
||||
<p>Use <code class="ansible-value literal notranslate">+</code> as a single list element to allow all redirect URIs.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-validate_certs"></div>
|
||||
@@ -1494,7 +1560,7 @@ Parameters
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>List of allowed CORS origins. This is 'webOrigins' in the Keycloak REST API.</p>
|
||||
<p>List of allowed CORS origins. This is <code class='docutils literal notranslate'>webOrigins</code> in the Keycloak REST API.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
@@ -1520,6 +1586,50 @@ Attributes
|
||||
- Support
|
||||
- Description
|
||||
|
||||
* - .. raw:: html
|
||||
|
||||
<div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="attribute-action_group"></div>
|
||||
|
||||
.. _ansible_collections.middleware_automation.keycloak.keycloak_client_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">
|
||||
@@ -1620,7 +1730,7 @@ Examples
|
||||
|
||||
- name: Create or update Keycloak client (minimal example), authentication with credentials
|
||||
middleware_automation.keycloak.keycloak_client:
|
||||
auth_keycloak_url: https://auth.example.com/auth
|
||||
auth_keycloak_url: https://auth.example.com
|
||||
auth_realm: master
|
||||
auth_username: USERNAME
|
||||
auth_password: PASSWORD
|
||||
@@ -1632,7 +1742,7 @@ Examples
|
||||
- name: Create or update Keycloak client (minimal example), authentication with token
|
||||
middleware_automation.keycloak.keycloak_client:
|
||||
auth_client_id: admin-cli
|
||||
auth_keycloak_url: https://auth.example.com/auth
|
||||
auth_keycloak_url: https://auth.example.com
|
||||
auth_realm: master
|
||||
token: TOKEN
|
||||
client_id: test
|
||||
@@ -1643,7 +1753,7 @@ Examples
|
||||
- name: Delete a Keycloak client
|
||||
middleware_automation.keycloak.keycloak_client:
|
||||
auth_client_id: admin-cli
|
||||
auth_keycloak_url: https://auth.example.com/auth
|
||||
auth_keycloak_url: https://auth.example.com
|
||||
auth_realm: master
|
||||
auth_username: USERNAME
|
||||
auth_password: PASSWORD
|
||||
@@ -1655,7 +1765,7 @@ Examples
|
||||
- name: Create or update a Keycloak client (minimal example), with x509 authentication
|
||||
middleware_automation.keycloak.keycloak_client:
|
||||
auth_client_id: admin-cli
|
||||
auth_keycloak_url: https://auth.example.com/auth
|
||||
auth_keycloak_url: https://auth.example.com
|
||||
auth_realm: master
|
||||
auth_username: USERNAME
|
||||
auth_password: PASSWORD
|
||||
@@ -1671,7 +1781,7 @@ Examples
|
||||
- name: Create or update a Keycloak client (with all the bells and whistles)
|
||||
middleware_automation.keycloak.keycloak_client:
|
||||
auth_client_id: admin-cli
|
||||
auth_keycloak_url: https://auth.example.com/auth
|
||||
auth_keycloak_url: https://auth.example.com
|
||||
auth_realm: master
|
||||
auth_username: USERNAME
|
||||
auth_password: PASSWORD
|
||||
@@ -1718,7 +1828,7 @@ Examples
|
||||
- test01
|
||||
- test02
|
||||
authentication_flow_binding_overrides:
|
||||
browser: 4c90336b-bf1d-4b87-916d-3677ba4e5fbb
|
||||
browser: 4c90336b-bf1d-4b87-916d-3677ba4e5fbb
|
||||
protocol_mappers:
|
||||
- config:
|
||||
access.token.claim: true
|
||||
@@ -1853,6 +1963,7 @@ Authors
|
||||
~~~~~~~
|
||||
|
||||
- Eike Frost (@eikef)
|
||||
- Ivan Kokalović (@koke1997)
|
||||
|
||||
|
||||
.. Extra links
|
||||
|
||||
761
main/_sources/plugins/keycloak_client_rolemapping.rst.txt
Normal file
761
main/_sources/plugins/keycloak_client_rolemapping.rst.txt
Normal file
@@ -0,0 +1,761 @@
|
||||
.. Document meta
|
||||
|
||||
:orphan:
|
||||
|
||||
.. |antsibull-internal-nbsp| unicode:: 0xA0
|
||||
:trim:
|
||||
|
||||
.. meta::
|
||||
:antsibull-docs: 2.24.0
|
||||
|
||||
.. Anchors
|
||||
|
||||
.. _ansible_collections.middleware_automation.keycloak.keycloak_client_rolemapping_module:
|
||||
|
||||
.. Anchors: short name for ansible.builtin
|
||||
|
||||
.. Title
|
||||
|
||||
keycloak_client_rolemapping -- Allows administration of Keycloak client\_rolemapping with the Keycloak API
|
||||
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
.. 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_client_rolemapping`.
|
||||
|
||||
.. 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 add, remove or modify Keycloak client\_rolemapping with the Keycloak REST API. It requires access to the REST API using OpenID Connect; the user connecting and the client being used must have the requisite access rights. In a default Keycloak installation, admin\-cli and an admin user would work, as would a separate client definition with the scope tailored to your needs and a user having the expected roles.
|
||||
- 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/latest/rest\-api/index.html <https://www.keycloak.org/docs-api/latest/rest-api/index.html>`__.
|
||||
- Attributes are multi\-valued in the Keycloak API. All attributes are lists of individual values and are returned that way by this module. You may pass single values for attributes when calling the module, and this is translated into a list suitable for the API.
|
||||
- When updating a client\_rolemapping, where possible provide the role ID to the module. This removes a lookup to the API to translate the name into the role ID.
|
||||
|
||||
|
||||
.. 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">"admin-cli"</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-cid"></div>
|
||||
<p class="ansible-option-title"><strong>cid</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-cid" 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>ID of the client to be mapped.</p>
|
||||
<p>This parameter is not required for updating or deleting the rolemapping but providing it reduces the number of API calls required.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-client_id"></div>
|
||||
<p class="ansible-option-title"><strong>client_id</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-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>Name of the client to be mapped (different than <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-cid"><span class="std std-ref"><span class="pre">cid</span></span></a></strong></code>).</p>
|
||||
<p>This parameter is required (can be replaced by cid for less API call).</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<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-odd">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-gid"></div>
|
||||
<p class="ansible-option-title"><strong>gid</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-gid" 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>ID of the group to be mapped.</p>
|
||||
<p>This parameter is not required for updating or deleting the rolemapping but providing it reduces the number of API calls required.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-group_name"></div>
|
||||
<p class="ansible-option-title"><strong>group_name</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-group_name" 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>Name of the group to be mapped.</p>
|
||||
<p>This parameter is required (can be replaced by gid for less API call).</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<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">"Ansible"</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-parents"></div>
|
||||
<p class="ansible-option-title"><strong>parents</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-parents" 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-cell">
|
||||
<p>List of parent groups for the group to handle sorted top to bottom.</p>
|
||||
<p>Set this if your group is a subgroup and you do not provide the GID in <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-gid"><span class="std std-ref"><span class="pre">gid</span></span></a></strong></code>.</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-parents/id"></div>
|
||||
<p class="ansible-option-title"><strong>id</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-parents/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-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>Identify parent by ID.</p>
|
||||
<p>Needs less API calls than using <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-parents/name"><span class="std std-ref"><span class="pre">parents[].name</span></span></a></strong></code>.</p>
|
||||
<p>A deep parent chain can be started at any point when first given parent is given as ID.</p>
|
||||
<p>Note that in principle both ID and name can be specified at the same time but current implementation only always use just one of them, with ID being preferred.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-parents/name"></div>
|
||||
<p class="ansible-option-title"><strong>name</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-parents/name" 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-cell">
|
||||
<p>Identify parent by name.</p>
|
||||
<p>Needs more internal API calls than using <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-parents/id"><span class="std std-ref"><span class="pre">parents[].id</span></span></a></strong></code> to map names to ID's under the hood.</p>
|
||||
<p>When giving a parent chain with only names it must be complete up to the top.</p>
|
||||
<p>Note that in principle both ID and name can be specified at the same time but current implementation only always use just one of them, with ID being preferred.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-realm"></div>
|
||||
<p class="ansible-option-title"><strong>realm</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-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>They Keycloak realm under which this role_representation resides.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-default-bold">Default:</strong> <code class="ansible-value literal notranslate ansible-option-default">"master"</code></p>
|
||||
</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-roles"></div>
|
||||
<p class="ansible-option-title"><strong>roles</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-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=dictionary</span>
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>Roles to be mapped to the group.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-roles/id"></div>
|
||||
<p class="ansible-option-title"><strong>id</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-roles/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-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>The unique identifier for this role_representation.</p>
|
||||
<p>This parameter is not required for updating or deleting a role_representation but providing it reduces the number of API calls required.</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-roles/name"></div>
|
||||
<p class="ansible-option-title"><strong>name</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-roles/name" 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-cell">
|
||||
<p>Name of the role_representation.</p>
|
||||
<p>This parameter is required only when creating or updating the role_representation.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
|
||||
<tr class="row-even">
|
||||
<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 client_rolemapping.</p>
|
||||
<p>On <code class="ansible-value literal notranslate">present</code>, the client_rolemapping 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 client_rolemapping 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>"present"</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">"absent"</code></p></li>
|
||||
</ul>
|
||||
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<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-even">
|
||||
<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_client_rolemapping_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_client_rolemapping_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_client_rolemapping_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
|
||||
|
||||
|
||||
.. Seealso
|
||||
|
||||
|
||||
.. Examples
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
.. code-block:: yaml+jinja
|
||||
|
||||
- name: Map a client role to a group, authentication with credentials
|
||||
middleware_automation.keycloak.keycloak_client_rolemapping:
|
||||
realm: MyCustomRealm
|
||||
auth_client_id: admin-cli
|
||||
auth_keycloak_url: https://auth.example.com
|
||||
auth_realm: master
|
||||
auth_username: USERNAME
|
||||
auth_password: PASSWORD
|
||||
state: present
|
||||
client_id: client1
|
||||
group_name: group1
|
||||
roles:
|
||||
- name: role_name1
|
||||
id: role_id1
|
||||
- name: role_name2
|
||||
id: role_id2
|
||||
delegate_to: localhost
|
||||
|
||||
- name: Map a client role to a group, authentication with token
|
||||
middleware_automation.keycloak.keycloak_client_rolemapping:
|
||||
realm: MyCustomRealm
|
||||
auth_client_id: admin-cli
|
||||
auth_keycloak_url: https://auth.example.com
|
||||
token: TOKEN
|
||||
state: present
|
||||
client_id: client1
|
||||
group_name: group1
|
||||
roles:
|
||||
- name: role_name1
|
||||
id: role_id1
|
||||
- name: role_name2
|
||||
id: role_id2
|
||||
delegate_to: localhost
|
||||
|
||||
- name: Map a client role to a subgroup, authentication with token
|
||||
middleware_automation.keycloak.keycloak_client_rolemapping:
|
||||
realm: MyCustomRealm
|
||||
auth_client_id: admin-cli
|
||||
auth_keycloak_url: https://auth.example.com
|
||||
token: TOKEN
|
||||
state: present
|
||||
client_id: client1
|
||||
group_name: subgroup1
|
||||
parents:
|
||||
- name: parent-group
|
||||
roles:
|
||||
- name: role_name1
|
||||
id: role_id1
|
||||
- name: role_name2
|
||||
id: role_id2
|
||||
delegate_to: localhost
|
||||
|
||||
- name: Unmap client role from a group
|
||||
middleware_automation.keycloak.keycloak_client_rolemapping:
|
||||
realm: MyCustomRealm
|
||||
auth_client_id: admin-cli
|
||||
auth_keycloak_url: https://auth.example.com
|
||||
auth_realm: master
|
||||
auth_username: USERNAME
|
||||
auth_password: PASSWORD
|
||||
state: absent
|
||||
client_id: client1
|
||||
group_name: group1
|
||||
roles:
|
||||
- name: role_name1
|
||||
id: role_id1
|
||||
- name: role_name2
|
||||
id: role_id2
|
||||
delegate_to: localhost
|
||||
|
||||
|
||||
|
||||
.. 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-end_state"></div>
|
||||
<p class="ansible-option-title"><strong>end_state</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-end_state" 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>Representation of client role mapping after module execution.</p>
|
||||
<p>The sample is truncated.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> on success</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">{"adminUrl": "http://www.example.com/admin_url", "attributes": {"request.object.signature.alg": "RS256"}}</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="return-existing"></div>
|
||||
<p class="ansible-option-title"><strong>existing</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-existing" 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>Representation of existing client role mapping.</p>
|
||||
<p>The sample is truncated.</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">{"adminUrl": "http://www.example.com/admin_url", "attributes": {"request.object.signature.alg": "RS256"}}</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<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>Message as to what action was taken.</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">"Role role1 assigned to group group1."</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="return-proposed"></div>
|
||||
<p class="ansible-option-title"><strong>proposed</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-proposed" 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>Representation of proposed client role mapping.</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">{"clientId": "test"}</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
.. Status (Presently only deprecated)
|
||||
|
||||
|
||||
.. Authors
|
||||
|
||||
Authors
|
||||
~~~~~~~
|
||||
|
||||
- Gaëtan Daubresse (@Gaetan2907)
|
||||
|
||||
|
||||
.. Extra links
|
||||
|
||||
|
||||
.. Parsing errors
|
||||
595
main/_sources/plugins/keycloak_client_rolescope.rst.txt
Normal file
595
main/_sources/plugins/keycloak_client_rolescope.rst.txt
Normal file
@@ -0,0 +1,595 @@
|
||||
.. Document meta
|
||||
|
||||
:orphan:
|
||||
|
||||
.. |antsibull-internal-nbsp| unicode:: 0xA0
|
||||
:trim:
|
||||
|
||||
.. meta::
|
||||
:antsibull-docs: 2.24.0
|
||||
|
||||
.. Anchors
|
||||
|
||||
.. _ansible_collections.middleware_automation.keycloak.keycloak_client_rolescope_module:
|
||||
|
||||
.. Anchors: short name for ansible.builtin
|
||||
|
||||
.. Title
|
||||
|
||||
keycloak_client_rolescope -- Allows administration of Keycloak client roles scope to restrict the usage of certain roles to a other specific client applications
|
||||
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
.. 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_client_rolescope`.
|
||||
|
||||
.. 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 add or remove Keycloak roles from clients scope using the Keycloak REST API. It requires access to the REST API using OpenID Connect; the user connecting and the client being used must have the requisite access rights. In a default Keycloak installation, admin\-cli and an admin user would work, as would a separate client definition with the scope tailored to your needs and a user having the expected roles.
|
||||
- Client :ansopt:`middleware\_automation.keycloak.keycloak\_client\_rolescope#module:client\_id` must have :ansopt:`middleware\_automation.keycloak.keycloak\_client#module:full\_scope\_allowed` set to :ansval:`false`.
|
||||
- Attributes are multi\-valued in the Keycloak API. All attributes are lists of individual values and are returned that way by this module. You may pass single values for attributes when calling the module, and this is translated into a list suitable for the API.
|
||||
|
||||
|
||||
.. 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">"admin-cli"</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-client_id"></div>
|
||||
<p class="ansible-option-title"><strong>client_id</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-client_id" 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-cell">
|
||||
<p>Roles provided in <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-role_names"><span class="std std-ref"><span class="pre">role_names</span></span></a></strong></code> while be added to this client scope.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-client_scope_id"></div>
|
||||
<p class="ansible-option-title"><strong>client_scope_id</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-client_scope_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>If the <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-role_names"><span class="std std-ref"><span class="pre">role_names</span></span></a></strong></code> are client role, the client ID under which it resides.</p>
|
||||
<p>If this parameter is absent, the roles are considered a realm role.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<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-odd">
|
||||
<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">"Ansible"</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-realm"></div>
|
||||
<p class="ansible-option-title"><strong>realm</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-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>The Keycloak realm under which clients resides.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-default-bold">Default:</strong> <code class="ansible-value literal notranslate ansible-option-default">"master"</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<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-even">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-role_names"></div>
|
||||
<p class="ansible-option-title"><strong>role_names</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-role_names" 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>
|
||||
/ <span class="ansible-option-required">required</span>
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>Names of roles to manipulate.</p>
|
||||
<p>If <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-client_scope_id"><span class="std std-ref"><span class="pre">client_scope_id</span></span></a></strong></code> is present, all roles must be under this client.</p>
|
||||
<p>If <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-client_scope_id"><span class="std std-ref"><span class="pre">client_scope_id</span></span></a></strong></code> is absent, all roles must be under the realm.</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 role mapping.</p>
|
||||
<p>On <code class="ansible-value literal notranslate">present</code>, all roles in <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-role_names"><span class="std std-ref"><span class="pre">role_names</span></span></a></strong></code> are mapped if not exist yet.</p>
|
||||
<p>On <code class="ansible-value literal notranslate">absent</code>, all roles mapping in <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-role_names"><span class="std std-ref"><span class="pre">role_names</span></span></a></strong></code> are 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>"present"</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">"absent"</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_client_rolescope_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_client_rolescope_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_client_rolescope_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
|
||||
|
||||
|
||||
.. Seealso
|
||||
|
||||
|
||||
.. Examples
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
.. code-block:: yaml+jinja
|
||||
|
||||
- name: Add roles to public client scope
|
||||
middleware_automation.keycloak.keycloak_client_rolescope:
|
||||
auth_keycloak_url: https://auth.example.com
|
||||
auth_realm: master
|
||||
auth_username: USERNAME
|
||||
auth_password: PASSWORD
|
||||
realm: MyCustomRealm
|
||||
client_id: frontend-client-public
|
||||
client_scope_id: backend-client-private
|
||||
role_names:
|
||||
- backend-role-admin
|
||||
- backend-role-user
|
||||
|
||||
- name: Remove roles from public client scope
|
||||
middleware_automation.keycloak.keycloak_client_rolescope:
|
||||
auth_keycloak_url: https://auth.example.com
|
||||
auth_realm: master
|
||||
auth_username: USERNAME
|
||||
auth_password: PASSWORD
|
||||
realm: MyCustomRealm
|
||||
client_id: frontend-client-public
|
||||
client_scope_id: backend-client-private
|
||||
role_names:
|
||||
- backend-role-admin
|
||||
state: absent
|
||||
|
||||
- name: Add realm roles to public client scope
|
||||
middleware_automation.keycloak.keycloak_client_rolescope:
|
||||
auth_keycloak_url: https://auth.example.com
|
||||
auth_realm: master
|
||||
auth_username: USERNAME
|
||||
auth_password: PASSWORD
|
||||
realm: MyCustomRealm
|
||||
client_id: frontend-client-public
|
||||
role_names:
|
||||
- realm-role-admin
|
||||
- realm-role-user
|
||||
|
||||
|
||||
|
||||
.. 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-end_state"></div>
|
||||
<p class="ansible-option-title"><strong>end_state</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-end_state" title="Permalink to this return value"></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-cell">
|
||||
<p>Representation of role role scope after module execution.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> on success</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">[{"clientRole": false, "composite": false, "containerId": "MyCustomRealm", "id": "47293104-59a6-46f0-b460-2e9e3c9c424c", "name": "backend-role-admin"}, {"clientRole": false, "composite": false, "containerId": "MyCustomRealm", "id": "39c62a6d-542c-4715-92d2-41021eb33967", "name": "backend-role-user"}]</code></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>Message as to what action was taken.</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">"Client role scope for frontend-client-public has been updated"</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
.. Status (Presently only deprecated)
|
||||
|
||||
|
||||
.. Authors
|
||||
|
||||
Authors
|
||||
~~~~~~~
|
||||
|
||||
- Andre Desrosiers (@desand01)
|
||||
|
||||
|
||||
.. Extra links
|
||||
|
||||
|
||||
.. Parsing errors
|
||||
@@ -33,6 +33,9 @@ keycloak_client_scope -- Allows administration of Keycloak client scopes via Key
|
||||
|
||||
.. version_added
|
||||
|
||||
.. rst-class:: ansible-version-added
|
||||
|
||||
New in middleware\_automation.keycloak 3.0.0
|
||||
|
||||
.. contents::
|
||||
:local:
|
||||
@@ -182,7 +185,6 @@ Parameters
|
||||
<p class="ansible-option-type-line">
|
||||
<span class="ansible-option-type">integer</span>
|
||||
</p>
|
||||
<p><em class="ansible-option-versionadded">added in middleware_automation.keycloak 4.5.0</em></p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>Controls the HTTP connections timeout period (in seconds) to Keycloak API.</p>
|
||||
@@ -211,7 +213,6 @@ Parameters
|
||||
<p class="ansible-option-type-line">
|
||||
<span class="ansible-option-type">string</span>
|
||||
</p>
|
||||
<p><em class="ansible-option-versionadded">added in middleware_automation.keycloak 5.4.0</em></p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>Configures the HTTP User-Agent header.</p>
|
||||
@@ -341,6 +342,19 @@ Parameters
|
||||
</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>
|
||||
@@ -361,7 +375,7 @@ Parameters
|
||||
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<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>
|
||||
@@ -369,13 +383,12 @@ Parameters
|
||||
<p class="ansible-option-type-line">
|
||||
<span class="ansible-option-type">string</span>
|
||||
</p>
|
||||
<p><em class="ansible-option-versionadded">added in middleware_automation.keycloak 3.0.0</em></p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>Authentication token for Keycloak API.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<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>
|
||||
@@ -417,6 +430,48 @@ Attributes
|
||||
- Support
|
||||
- Description
|
||||
|
||||
* - .. raw:: html
|
||||
|
||||
<div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="attribute-action_group"></div>
|
||||
|
||||
.. _ansible_collections.middleware_automation.keycloak.keycloak_client_scope_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`
|
||||
|
||||
|
||||
.. 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">
|
||||
|
||||
579
main/_sources/plugins/keycloak_clientscope_rolemappings.rst.txt
Normal file
579
main/_sources/plugins/keycloak_clientscope_rolemappings.rst.txt
Normal file
@@ -0,0 +1,579 @@
|
||||
.. Document meta
|
||||
|
||||
:orphan:
|
||||
|
||||
.. |antsibull-internal-nbsp| unicode:: 0xA0
|
||||
:trim:
|
||||
|
||||
.. meta::
|
||||
:antsibull-docs: 2.24.0
|
||||
|
||||
.. Anchors
|
||||
|
||||
.. _ansible_collections.middleware_automation.keycloak.keycloak_clientscope_rolemappings_module:
|
||||
|
||||
.. Anchors: short name for ansible.builtin
|
||||
|
||||
.. Title
|
||||
|
||||
keycloak_clientscope_rolemappings -- Allows administration of Keycloak clientscope scope mappings to restrict the usage of certain roles to specific clientscopes
|
||||
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
.. 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_clientscope_rolemappings`.
|
||||
|
||||
.. 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 add or remove Keycloak roles from clientscopes using the Keycloak REST API. It requires access to the REST API using OpenID Connect; the user connecting and the client being used must have the requisite access rights. In a default Keycloak installation, :literal:`admin\-cli` and an admin user would work, as would a separate client definition with the scope tailored to your needs and a user having the expected roles.
|
||||
- Attributes are multi\-valued in the Keycloak API. All attributes are lists of individual values and are returned that way by this module. You may pass single values for attributes when calling the module, and this is translated into a list suitable for the API.
|
||||
|
||||
|
||||
.. 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">"admin-cli"</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-client_id"></div>
|
||||
<p class="ansible-option-title"><strong>client_id</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-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>If the <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-role_names"><span class="std std-ref"><span class="pre">role_names</span></span></a></strong></code> are client roles, the client ID under which it resides.</p>
|
||||
<p>If this parameter is absent, the roles are considered realm roles.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-clientscope_id"></div>
|
||||
<p class="ansible-option-title"><strong>clientscope_id</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-clientscope_id" 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-cell">
|
||||
<p>Roles provided in <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-role_names"><span class="std std-ref"><span class="pre">role_names</span></span></a></strong></code> will be added to this clientscope.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<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-odd">
|
||||
<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">"Ansible"</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-realm"></div>
|
||||
<p class="ansible-option-title"><strong>realm</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-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>The Keycloak realm under which clients resides.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-default-bold">Default:</strong> <code class="ansible-value literal notranslate ansible-option-default">"master"</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<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-even">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-role_names"></div>
|
||||
<p class="ansible-option-title"><strong>role_names</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-role_names" 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>
|
||||
/ <span class="ansible-option-required">required</span>
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>Names of roles to add.</p>
|
||||
<p>If <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-client_id"><span class="std std-ref"><span class="pre">client_id</span></span></a></strong></code> is present, all roles must be under this client.</p>
|
||||
<p>If <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-client_id"><span class="std std-ref"><span class="pre">client_id</span></span></a></strong></code> is absent, all roles must be under the realm.</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 role mapping.</p>
|
||||
<p>On <code class="ansible-value literal notranslate">present</code>, all roles in <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-role_names"><span class="std std-ref"><span class="pre">role_names</span></span></a></strong></code> are mapped if not exist yet.</p>
|
||||
<p>On <code class="ansible-value literal notranslate">absent</code>, all roles mapping in <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-role_names"><span class="std std-ref"><span class="pre">role_names</span></span></a></strong></code> are removed if they exist.</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>"present"</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">"absent"</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_clientscope_rolemappings_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_clientscope_rolemappings_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_clientscope_rolemappings_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
|
||||
|
||||
|
||||
.. Seealso
|
||||
|
||||
|
||||
.. Examples
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
.. code-block:: yaml+jinja
|
||||
|
||||
- name: Add roles to clientscope
|
||||
middleware_automation.keycloak.keycloak_clientscope_rolemappings:
|
||||
auth_keycloak_url: https://auth.example.com
|
||||
auth_realm: master
|
||||
auth_username: USERNAME
|
||||
auth_password: PASSWORD
|
||||
realm: MyCustomRealm
|
||||
client_id: frontend-client-public
|
||||
clientscope_id: frontend-clientscope
|
||||
role_names:
|
||||
- backend-role-admin
|
||||
- backend-role-user
|
||||
|
||||
- name: Remove roles from clientscope
|
||||
middleware_automation.keycloak.keycloak_clientscope_rolemappings:
|
||||
auth_keycloak_url: https://auth.example.com
|
||||
auth_realm: master
|
||||
auth_username: USERNAME
|
||||
auth_password: PASSWORD
|
||||
realm: MyCustomRealm
|
||||
client_id: frontend-client-public
|
||||
clientscope_id: frontend-clientscope
|
||||
role_names:
|
||||
- backend-role-admin
|
||||
state: absent
|
||||
|
||||
- name: Add realm roles to clientscope
|
||||
middleware_automation.keycloak.keycloak_clientscope_rolemappings:
|
||||
auth_keycloak_url: https://auth.example.com
|
||||
auth_realm: master
|
||||
auth_username: USERNAME
|
||||
auth_password: PASSWORD
|
||||
realm: MyCustomRealm
|
||||
clientscope_id: frontend-clientscope
|
||||
role_names:
|
||||
- realm-role-admin
|
||||
- realm-role-user
|
||||
|
||||
|
||||
|
||||
.. 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-end_state"></div>
|
||||
<p class="ansible-option-title"><strong>end_state</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-end_state" title="Permalink to this return value"></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-cell">
|
||||
<p>Representation of clientscope scope mappings after module execution.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> on success</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">[{"clientRole": false, "composite": false, "containerId": "77f9bd4e-13a6-451e-9c72-ee6997299c1f", "description": "User role", "id": "9e155ef7-86f5-4def-b507-581ce7b87013", "name": "realm-role-user"}, {"clientRole": false, "composite": false, "containerId": "77f9bd4e-13a6-451e-9c72-ee6997299c1f", "description": "Admin role", "id": "9e155ef7-86f5-4def-b507-581ce7b87013", "name": "realm-role-admin"}]</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
.. Status (Presently only deprecated)
|
||||
|
||||
|
||||
.. Authors
|
||||
|
||||
Authors
|
||||
~~~~~~~
|
||||
|
||||
- Felix Grzelka (@felix-grzelka)
|
||||
|
||||
|
||||
.. Extra links
|
||||
|
||||
|
||||
.. Parsing errors
|
||||
585
main/_sources/plugins/keycloak_clientscope_type.rst.txt
Normal file
585
main/_sources/plugins/keycloak_clientscope_type.rst.txt
Normal file
@@ -0,0 +1,585 @@
|
||||
.. Document meta
|
||||
|
||||
:orphan:
|
||||
|
||||
.. |antsibull-internal-nbsp| unicode:: 0xA0
|
||||
:trim:
|
||||
|
||||
.. meta::
|
||||
:antsibull-docs: 2.24.0
|
||||
|
||||
.. Anchors
|
||||
|
||||
.. _ansible_collections.middleware_automation.keycloak.keycloak_clientscope_type_module:
|
||||
|
||||
.. Anchors: short name for ansible.builtin
|
||||
|
||||
.. Title
|
||||
|
||||
keycloak_clientscope_type -- Set the type of aclientscope in realm or client using Keycloak API
|
||||
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
.. 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_clientscope_type`.
|
||||
|
||||
.. 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 set the type (optional, default) of clientscopes using the Keycloak REST API. It requires access to the REST API using OpenID Connect; the user connecting and the client being used must have the requisite access rights. In a default Keycloak installation, admin\-cli and an admin user would work, as would a separate client definition with the scope tailored to your needs and a user having the expected roles.
|
||||
|
||||
|
||||
.. 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">"admin-cli"</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-client_id"></div>
|
||||
<div class="ansibleOptionAnchor" id="parameter-clientId"></div>
|
||||
<p class="ansible-option-title"><strong>client_id</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-client_id" title="Permalink to this option"></a>
|
||||
<p class="ansible-option-type-line"><span class="ansible-option-aliases">aliases: clientId</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 <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-client_id"><span class="std std-ref"><span class="pre">client_id</span></span></a></strong></code> of the client. If not set the clientscope types are set as a default for the realm.</p>
|
||||
</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-default_clientscopes"></div>
|
||||
<p class="ansible-option-title"><strong>default_clientscopes</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-default_clientscopes" 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-cell">
|
||||
<p>Client scopes that should be of type default.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<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">"Ansible"</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-optional_clientscopes"></div>
|
||||
<p class="ansible-option-title"><strong>optional_clientscopes</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-optional_clientscopes" 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-cell">
|
||||
<p>Client scopes that should be of type optional.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-realm"></div>
|
||||
<p class="ansible-option-title"><strong>realm</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-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>The Keycloak realm.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-default-bold">Default:</strong> <code class="ansible-value literal notranslate ansible-option-default">"master"</code></p>
|
||||
</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-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-even">
|
||||
<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_clientscope_type_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_clientscope_type_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_clientscope_type_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
|
||||
|
||||
|
||||
.. Seealso
|
||||
|
||||
|
||||
.. Examples
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
.. code-block:: yaml+jinja
|
||||
|
||||
- name: Set default client scopes on realm level
|
||||
middleware_automation.keycloak.keycloak_clientscope_type:
|
||||
auth_client_id: admin-cli
|
||||
auth_keycloak_url: https://auth.example.com
|
||||
auth_realm: master
|
||||
auth_username: USERNAME
|
||||
auth_password: PASSWORD
|
||||
realm: "MyCustomRealm"
|
||||
default_clientscopes: ['profile', 'roles']
|
||||
delegate_to: localhost
|
||||
|
||||
|
||||
- name: Set default and optional client scopes on client level with token auth
|
||||
middleware_automation.keycloak.keycloak_clientscope_type:
|
||||
auth_client_id: admin-cli
|
||||
auth_keycloak_url: https://auth.example.com
|
||||
token: TOKEN
|
||||
realm: "MyCustomRealm"
|
||||
client_id: "MyCustomClient"
|
||||
default_clientscopes: ['profile', 'roles']
|
||||
optional_clientscopes: ['phone']
|
||||
delegate_to: localhost
|
||||
|
||||
|
||||
|
||||
.. 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-end_state"></div>
|
||||
<p class="ansible-option-title"><strong>end_state</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-end_state" 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>Representation of client scopes after module execution.</p>
|
||||
<p>The sample is truncated.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> on success</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">{"default_clientscopes": ["profile", "role"], "optional_clientscopes": []}</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="return-existing"></div>
|
||||
<p class="ansible-option-title"><strong>existing</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-existing" 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>Representation of client scopes before module execution.</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">{"default_clientscopes": ["profile", "role"], "optional_clientscopes": ["phone"]}</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<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>Message as to what action was taken.</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">""</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="return-proposed"></div>
|
||||
<p class="ansible-option-title"><strong>proposed</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-proposed" 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>Representation of proposed client-scope types mapping.</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">{"default_clientscopes": ["profile", "role"], "optional_clientscopes": []}</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
.. Status (Presently only deprecated)
|
||||
|
||||
|
||||
.. Authors
|
||||
|
||||
Authors
|
||||
~~~~~~~
|
||||
|
||||
- Simon Pahl (@simonpahl)
|
||||
|
||||
|
||||
.. Extra links
|
||||
|
||||
|
||||
.. Parsing errors
|
||||
595
main/_sources/plugins/keycloak_clientsecret_info.rst.txt
Normal file
595
main/_sources/plugins/keycloak_clientsecret_info.rst.txt
Normal file
@@ -0,0 +1,595 @@
|
||||
.. Document meta
|
||||
|
||||
:orphan:
|
||||
|
||||
.. |antsibull-internal-nbsp| unicode:: 0xA0
|
||||
:trim:
|
||||
|
||||
.. meta::
|
||||
:antsibull-docs: 2.24.0
|
||||
|
||||
.. Anchors
|
||||
|
||||
.. _ansible_collections.middleware_automation.keycloak.keycloak_clientsecret_info_module:
|
||||
|
||||
.. Anchors: short name for ansible.builtin
|
||||
|
||||
.. Title
|
||||
|
||||
keycloak_clientsecret_info -- Retrieve client secret using Keycloak API
|
||||
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
.. 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_clientsecret_info`.
|
||||
|
||||
.. 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 get a Keycloak client secret using the Keycloak REST API. It requires access to the REST API using OpenID Connect; the user connecting and the client being used must have the requisite access rights. In a default Keycloak installation, admin\-cli and an admin user would work, as would a separate client definition with the scope tailored to your needs and a user having the expected roles.
|
||||
- When retrieving a new client secret, where possible provide the client's :ansopt:`middleware\_automation.keycloak.keycloak\_clientsecret\_info#module:id` (not :ansopt:`middleware\_automation.keycloak.keycloak\_clientsecret\_info#module:client\_id`\ ) to the module. This removes a lookup to the API to translate the :ansopt:`middleware\_automation.keycloak.keycloak\_clientsecret\_info#module:client\_id` into the client ID.
|
||||
- Note that this module returns the client secret. To avoid this showing up in the logs, please add :literal:`no\_log: true` to the task.
|
||||
|
||||
|
||||
.. 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">"admin-cli"</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-client_id"></div>
|
||||
<div class="ansibleOptionAnchor" id="parameter-clientId"></div>
|
||||
<p class="ansible-option-title"><strong>client_id</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-client_id" title="Permalink to this option"></a>
|
||||
<p class="ansible-option-type-line"><span class="ansible-option-aliases">aliases: clientId</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 <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-client_id"><span class="std std-ref"><span class="pre">client_id</span></span></a></strong></code> of the client. Passing this instead of <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-id"><span class="std std-ref"><span class="pre">id</span></span></a></strong></code> results in an extra API call.</p>
|
||||
</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">"Ansible"</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-id"></div>
|
||||
<p class="ansible-option-title"><strong>id</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-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>The unique identifier for this client.</p>
|
||||
<p>This parameter is not required for getting or generating a client secret but providing it reduces the number of API calls required.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-realm"></div>
|
||||
<p class="ansible-option-title"><strong>realm</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-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>They Keycloak realm under which this client resides.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-default-bold">Default:</strong> <code class="ansible-value literal notranslate ansible-option-default">"master"</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<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-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_clientsecret_info_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_clientsecret_info_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`
|
||||
|
||||
This action does not modify state.
|
||||
|
||||
|
||||
.. 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_clientsecret_info_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-na:`N/A`
|
||||
|
||||
This action does not modify state.
|
||||
|
||||
|
||||
.. 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
|
||||
|
||||
|
||||
.. Seealso
|
||||
|
||||
|
||||
.. Examples
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
.. code-block:: yaml+jinja
|
||||
|
||||
- name: Get a Keycloak client secret, authentication with credentials
|
||||
middleware_automation.keycloak.keycloak_clientsecret_info:
|
||||
id: '9d59aa76-2755-48c6-b1af-beb70a82c3cd'
|
||||
realm: MyCustomRealm
|
||||
auth_client_id: admin-cli
|
||||
auth_keycloak_url: https://auth.example.com
|
||||
auth_realm: master
|
||||
auth_username: USERNAME
|
||||
auth_password: PASSWORD
|
||||
delegate_to: localhost
|
||||
no_log: true
|
||||
|
||||
- name: Get a new Keycloak client secret, authentication with token
|
||||
middleware_automation.keycloak.keycloak_clientsecret_info:
|
||||
id: '9d59aa76-2755-48c6-b1af-beb70a82c3cd'
|
||||
realm: MyCustomRealm
|
||||
auth_client_id: admin-cli
|
||||
auth_keycloak_url: https://auth.example.com
|
||||
token: TOKEN
|
||||
delegate_to: localhost
|
||||
no_log: true
|
||||
|
||||
- name: Get a new Keycloak client secret, passing client_id instead of id
|
||||
middleware_automation.keycloak.keycloak_clientsecret_info:
|
||||
client_id: 'myClientId'
|
||||
realm: MyCustomRealm
|
||||
auth_client_id: admin-cli
|
||||
auth_keycloak_url: https://auth.example.com
|
||||
token: TOKEN
|
||||
delegate_to: localhost
|
||||
no_log: true
|
||||
|
||||
- name: Get a new Keycloak client secret, authentication with auth_client_id and auth_client_secret
|
||||
middleware_automation.keycloak.keycloak_clientsecret_info:
|
||||
id: '9d59aa76-2755-48c6-b1af-beb70a82c3cd'
|
||||
realm: MyCustomRealm
|
||||
auth_client_id: admin-cli
|
||||
auth_client_secret: SECRET
|
||||
auth_keycloak_url: https://auth.example.com
|
||||
delegate_to: localhost
|
||||
no_log: true
|
||||
|
||||
|
||||
|
||||
.. 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-clientsecret_info"></div>
|
||||
<p class="ansible-option-title"><strong>clientsecret_info</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-clientsecret_info" title="Permalink to this return value"></a>
|
||||
<p class="ansible-option-type-line">
|
||||
<span class="ansible-option-type">complex</span>
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>Representation of the client secret.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> on success</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="return-clientsecret_info/type"></div>
|
||||
<p class="ansible-option-title"><strong>type</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-clientsecret_info/type" 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-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>Credential type.</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">"secret"</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="return-clientsecret_info/value"></div>
|
||||
<p class="ansible-option-title"><strong>value</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-clientsecret_info/value" 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-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>Client secret.</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">"cUGnX1EIeTtPPAkcyGMv0ncyqDPu68P1"</code></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>Textual description of whether we succeeded or failed.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> always</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
.. Status (Presently only deprecated)
|
||||
|
||||
|
||||
.. Authors
|
||||
|
||||
Authors
|
||||
~~~~~~~
|
||||
|
||||
- Fynn Chen (@fynncfchen)
|
||||
- John Cant (@johncant)
|
||||
|
||||
|
||||
.. Extra links
|
||||
|
||||
|
||||
.. Parsing errors
|
||||
591
main/_sources/plugins/keycloak_clientsecret_regenerate.rst.txt
Normal file
591
main/_sources/plugins/keycloak_clientsecret_regenerate.rst.txt
Normal file
@@ -0,0 +1,591 @@
|
||||
.. Document meta
|
||||
|
||||
:orphan:
|
||||
|
||||
.. |antsibull-internal-nbsp| unicode:: 0xA0
|
||||
:trim:
|
||||
|
||||
.. meta::
|
||||
:antsibull-docs: 2.24.0
|
||||
|
||||
.. Anchors
|
||||
|
||||
.. _ansible_collections.middleware_automation.keycloak.keycloak_clientsecret_regenerate_module:
|
||||
|
||||
.. Anchors: short name for ansible.builtin
|
||||
|
||||
.. Title
|
||||
|
||||
keycloak_clientsecret_regenerate -- Regenerate Keycloak client secret using Keycloak API
|
||||
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
.. 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_clientsecret_regenerate`.
|
||||
|
||||
.. 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 regenerate a Keycloak client secret using the Keycloak REST API. It requires access to the REST API using OpenID Connect; the user connecting and the client being used must have the requisite access rights. In a default Keycloak installation, admin\-cli and an admin user would work, as would a separate client definition with the scope tailored to your needs and a user having the expected roles.
|
||||
- When regenerating a client secret, where possible provide the client's ID (not client\_id) to the module. This removes a lookup to the API to translate the client\_id into the client ID.
|
||||
- Note that this module returns the client secret. To avoid this showing up in the logs, please add :literal:`no\_log: true` to the task.
|
||||
|
||||
|
||||
.. 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">"admin-cli"</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-client_id"></div>
|
||||
<div class="ansibleOptionAnchor" id="parameter-clientId"></div>
|
||||
<p class="ansible-option-title"><strong>client_id</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-client_id" title="Permalink to this option"></a>
|
||||
<p class="ansible-option-type-line"><span class="ansible-option-aliases">aliases: clientId</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 client_id of the client. Passing this instead of ID results in an extra API call.</p>
|
||||
</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">"Ansible"</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-id"></div>
|
||||
<p class="ansible-option-title"><strong>id</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-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>The unique identifier for this client.</p>
|
||||
<p>This parameter is not required for getting or generating a client secret but providing it reduces the number of API calls required.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-realm"></div>
|
||||
<p class="ansible-option-title"><strong>realm</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-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>They Keycloak realm under which this client resides.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-default-bold">Default:</strong> <code class="ansible-value literal notranslate ansible-option-default">"master"</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<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-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_clientsecret_regenerate_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_clientsecret_regenerate_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_clientsecret_regenerate_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-none:`none`
|
||||
|
||||
|
||||
.. 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
|
||||
|
||||
|
||||
.. Seealso
|
||||
|
||||
|
||||
.. Examples
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
.. code-block:: yaml+jinja
|
||||
|
||||
- name: Regenerate a Keycloak client secret, authentication with credentials
|
||||
middleware_automation.keycloak.keycloak_clientsecret_regenerate:
|
||||
id: '9d59aa76-2755-48c6-b1af-beb70a82c3cd'
|
||||
realm: MyCustomRealm
|
||||
auth_client_id: admin-cli
|
||||
auth_keycloak_url: https://auth.example.com
|
||||
auth_realm: master
|
||||
auth_username: USERNAME
|
||||
auth_password: PASSWORD
|
||||
delegate_to: localhost
|
||||
no_log: true
|
||||
|
||||
- name: Regenerate a Keycloak client secret, authentication with token
|
||||
middleware_automation.keycloak.keycloak_clientsecret_regenerate:
|
||||
id: '9d59aa76-2755-48c6-b1af-beb70a82c3cd'
|
||||
realm: MyCustomRealm
|
||||
auth_client_id: admin-cli
|
||||
auth_keycloak_url: https://auth.example.com
|
||||
token: TOKEN
|
||||
delegate_to: localhost
|
||||
no_log: true
|
||||
|
||||
- name: Regenerate a Keycloak client secret, passing client_id instead of id
|
||||
middleware_automation.keycloak.keycloak_clientsecret_info:
|
||||
client_id: 'myClientId'
|
||||
realm: MyCustomRealm
|
||||
auth_client_id: admin-cli
|
||||
auth_keycloak_url: https://auth.example.com
|
||||
token: TOKEN
|
||||
delegate_to: localhost
|
||||
no_log: true
|
||||
|
||||
- name: Regenerate a new Keycloak client secret, authentication with auth_client_id and auth_client_secret
|
||||
middleware_automation.keycloak.keycloak_clientsecret_regenerate:
|
||||
id: '9d59aa76-2755-48c6-b1af-beb70a82c3cd'
|
||||
realm: MyCustomRealm
|
||||
auth_client_id: admin-cli
|
||||
auth_client_secret: SECRET
|
||||
auth_keycloak_url: https://auth.example.com
|
||||
delegate_to: localhost
|
||||
no_log: true
|
||||
|
||||
|
||||
|
||||
.. 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-end_state"></div>
|
||||
<p class="ansible-option-title"><strong>end_state</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-end_state" title="Permalink to this return value"></a>
|
||||
<p class="ansible-option-type-line">
|
||||
<span class="ansible-option-type">complex</span>
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>Representation of the client credential after module execution.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> on success</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="return-end_state/type"></div>
|
||||
<p class="ansible-option-title"><strong>type</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-end_state/type" 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-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>Credential type.</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">"secret"</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="return-end_state/value"></div>
|
||||
<p class="ansible-option-title"><strong>value</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-end_state/value" 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-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>Client secret.</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">"cUGnX1EIeTtPPAkcyGMv0ncyqDPu68P1"</code></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>Message as to what action was taken.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> always</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
.. Status (Presently only deprecated)
|
||||
|
||||
|
||||
.. Authors
|
||||
|
||||
Authors
|
||||
~~~~~~~
|
||||
|
||||
- Fynn Chen (@fynncfchen)
|
||||
- John Cant (@johncant)
|
||||
|
||||
|
||||
.. Extra links
|
||||
|
||||
|
||||
.. Parsing errors
|
||||
839
main/_sources/plugins/keycloak_clienttemplate.rst.txt
Normal file
839
main/_sources/plugins/keycloak_clienttemplate.rst.txt
Normal file
@@ -0,0 +1,839 @@
|
||||
.. Document meta
|
||||
|
||||
:orphan:
|
||||
|
||||
.. |antsibull-internal-nbsp| unicode:: 0xA0
|
||||
:trim:
|
||||
|
||||
.. meta::
|
||||
:antsibull-docs: 2.24.0
|
||||
|
||||
.. Anchors
|
||||
|
||||
.. _ansible_collections.middleware_automation.keycloak.keycloak_clienttemplate_module:
|
||||
|
||||
.. Anchors: short name for ansible.builtin
|
||||
|
||||
.. Title
|
||||
|
||||
keycloak_clienttemplate -- Allows administration of Keycloak client templates using Keycloak API
|
||||
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
.. 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_clienttemplate`.
|
||||
|
||||
.. 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 the administration of Keycloak client templates using the Keycloak REST API. It requires access to the REST API using OpenID Connect; the user connecting and the client being used must have the requisite access rights. In a default Keycloak installation, admin\-cli and an admin user would work, as would a separate client definition with the scope tailored to your needs and a user having the expected roles.
|
||||
- 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/latest/rest\-api/index.html <https://www.keycloak.org/docs-api/latest/rest-api/index.html>`__.
|
||||
- The Keycloak API does not always enforce for only sensible settings to be used \-\- you can set SAML\-specific settings on an OpenID Connect client for instance and the other way around. Be careful. If you do not specify a setting, usually a sensible default is chosen.
|
||||
|
||||
|
||||
.. 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-attributes"></div>
|
||||
<p class="ansible-option-title"><strong>attributes</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-attributes" 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>A dict of further attributes for this client template. This can contain various configuration settings, though in the default installation of Keycloak as of 3.4, none are documented or known, so this is usually empty.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<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">"admin-cli"</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<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-odd">
|
||||
<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-even">
|
||||
<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-odd">
|
||||
<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-even">
|
||||
<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-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-description"></div>
|
||||
<p class="ansible-option-title"><strong>description</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-description" 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>Description of the client template in Keycloak.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-full_scope_allowed"></div>
|
||||
<p class="ansible-option-title"><strong>full_scope_allowed</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-full_scope_allowed" 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>Is the "Full Scope Allowed" feature set for this client template or not. This is <code class='docutils literal notranslate'>fullScopeAllowed</code> in the Keycloak REST API.</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-choices-entry">true</code></p></li>
|
||||
</ul>
|
||||
|
||||
</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">"Ansible"</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-id"></div>
|
||||
<p class="ansible-option-title"><strong>id</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-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>ID of client template to be worked on. This is usually a UUID.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-name"></div>
|
||||
<p class="ansible-option-title"><strong>name</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-name" 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>Name of the client template.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-protocol"></div>
|
||||
<p class="ansible-option-title"><strong>protocol</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-protocol" 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>Type of client template.</p>
|
||||
<p>The <code class="ansible-value literal notranslate">docker-v2</code> value was added in middleware_automation.keycloak 8.6.0.</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">"openid-connect"</code></p></li>
|
||||
<li><p><code class="ansible-value literal notranslate ansible-option-choices-entry">"saml"</code></p></li>
|
||||
<li><p><code class="ansible-value literal notranslate ansible-option-choices-entry">"docker-v2"</code></p></li>
|
||||
</ul>
|
||||
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-protocol_mappers"></div>
|
||||
<p class="ansible-option-title"><strong>protocol_mappers</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-protocol_mappers" 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-cell">
|
||||
<p>A list of dicts defining protocol mappers for this client template. This is <code class='docutils literal notranslate'>protocolMappers</code> in the Keycloak REST API.</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-protocol_mappers/config"></div>
|
||||
<p class="ansible-option-title"><strong>config</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-protocol_mappers/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-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>Dict specifying the configuration options for the protocol mapper; the contents differ depending on the value of <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-protocol_mappers/protocolMapper"><span class="std std-ref"><span class="pre">protocol_mappers[].protocolMapper</span></span></a></strong></code> and are not documented other than by the source of the mappers and its parent class(es). An example is given below. It is easiest to obtain valid config values by dumping an already-existing protocol mapper configuration through check-mode in the <code class="ansible-return-value literal notranslate"><a class="reference internal" href="#return-existing"><span class="std std-ref"><span class="pre">existing</span></span></a></code> field.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-protocol_mappers/consentRequired"></div>
|
||||
<p class="ansible-option-title"><strong>consentRequired</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-protocol_mappers/consentRequired" 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-cell">
|
||||
<p>Specifies whether a user needs to provide consent to a client for this mapper to be active.</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-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-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-protocol_mappers/consentText"></div>
|
||||
<p class="ansible-option-title"><strong>consentText</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-protocol_mappers/consentText" 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-cell">
|
||||
<p>The human-readable name of the consent the user is presented to accept.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-protocol_mappers/id"></div>
|
||||
<p class="ansible-option-title"><strong>id</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-protocol_mappers/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-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>Usually a UUID specifying the internal ID of this protocol mapper instance.</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-protocol_mappers/name"></div>
|
||||
<p class="ansible-option-title"><strong>name</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-protocol_mappers/name" 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-cell">
|
||||
<p>The name of this protocol mapper.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-protocol_mappers/protocol"></div>
|
||||
<p class="ansible-option-title"><strong>protocol</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-protocol_mappers/protocol" 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-cell">
|
||||
<p>This specifies for which protocol this protocol mapper is active.</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">"openid-connect"</code></p></li>
|
||||
<li><p><code class="ansible-value literal notranslate ansible-option-choices-entry">"saml"</code></p></li>
|
||||
<li><p><code class="ansible-value literal notranslate ansible-option-choices-entry">"docker-v2"</code></p></li>
|
||||
</ul>
|
||||
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-protocol_mappers/protocolMapper"></div>
|
||||
<p class="ansible-option-title"><strong>protocolMapper</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-protocol_mappers/protocolMapper" 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-cell">
|
||||
<p>The Keycloak-internal name of the type of this protocol-mapper. While an exhaustive list is impossible to provide since this may be extended through SPIs by the user of Keycloak, by default Keycloak as of 3.4 ships with at least:</p>
|
||||
<p><code class="ansible-value literal notranslate">docker-v2-allow-all-mapper</code>.</p>
|
||||
<p><code class="ansible-value literal notranslate">oidc-address-mapper</code>.</p>
|
||||
<p><code class="ansible-value literal notranslate">oidc-full-name-mapper</code>.</p>
|
||||
<p><code class="ansible-value literal notranslate">oidc-group-membership-mapper</code>.</p>
|
||||
<p><code class="ansible-value literal notranslate">oidc-hardcoded-claim-mapper</code>.</p>
|
||||
<p><code class="ansible-value literal notranslate">oidc-hardcoded-role-mapper</code>.</p>
|
||||
<p><code class="ansible-value literal notranslate">oidc-role-name-mapper</code>.</p>
|
||||
<p><code class="ansible-value literal notranslate">oidc-script-based-protocol-mapper</code>.</p>
|
||||
<p><code class="ansible-value literal notranslate">oidc-sha256-pairwise-sub-mapper</code>.</p>
|
||||
<p><code class="ansible-value literal notranslate">oidc-usermodel-attribute-mapper</code>.</p>
|
||||
<p><code class="ansible-value literal notranslate">oidc-usermodel-client-role-mapper</code>.</p>
|
||||
<p><code class="ansible-value literal notranslate">oidc-usermodel-property-mapper</code>.</p>
|
||||
<p><code class="ansible-value literal notranslate">oidc-usermodel-realm-role-mapper</code>.</p>
|
||||
<p><code class="ansible-value literal notranslate">oidc-usersessionmodel-note-mapper</code>.</p>
|
||||
<p><code class="ansible-value literal notranslate">saml-group-membership-mapper</code>.</p>
|
||||
<p><code class="ansible-value literal notranslate">saml-hardcode-attribute-mapper</code>.</p>
|
||||
<p><code class="ansible-value literal notranslate">saml-hardcode-role-mapper</code>.</p>
|
||||
<p><code class="ansible-value literal notranslate">saml-role-list-mapper</code>.</p>
|
||||
<p><code class="ansible-value literal notranslate">saml-role-name-mapper</code>.</p>
|
||||
<p><code class="ansible-value literal notranslate">saml-user-attribute-mapper</code>.</p>
|
||||
<p><code class="ansible-value literal notranslate">saml-user-property-mapper</code>.</p>
|
||||
<p><code class="ansible-value literal notranslate">saml-user-session-note-mapper</code>.</p>
|
||||
<p>An exhaustive list of available mappers on your installation can be obtained on the admin console by going to Server Info -> Providers and looking under 'protocol-mapper'.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-realm"></div>
|
||||
<p class="ansible-option-title"><strong>realm</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-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>Realm this client template is found in.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-default-bold">Default:</strong> <code class="ansible-value literal notranslate ansible-option-default">"master"</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<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-even">
|
||||
<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 client template.</p>
|
||||
<p>On <code class="ansible-value literal notranslate">present</code>, the client template is created (or updated if it exists already).</p>
|
||||
<p>On <code class="ansible-value literal notranslate">absent</code>, the client template 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>"present"</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">"absent"</code></p></li>
|
||||
</ul>
|
||||
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<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-even">
|
||||
<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_clienttemplate_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_clienttemplate_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_clienttemplate_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::
|
||||
- The Keycloak REST API defines further fields (namely :literal:`bearerOnly`\ , :literal:`consentRequired`\ , :literal:`standardFlowEnabled`\ , :literal:`implicitFlowEnabled`\ , :literal:`directAccessGrantsEnabled`\ , :literal:`serviceAccountsEnabled`\ , :literal:`publicClient`\ , and :literal:`frontchannelLogout`\ ) which, while available with keycloak\_client, do not have any effect on Keycloak client\-templates and are discarded if supplied with an API request changing client\-templates. As such, they are not available through this module.
|
||||
|
||||
.. Seealso
|
||||
|
||||
|
||||
.. Examples
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
.. code-block:: yaml+jinja
|
||||
|
||||
- name: Create or update Keycloak client template (minimal), authentication with credentials
|
||||
middleware_automation.keycloak.keycloak_client:
|
||||
auth_client_id: admin-cli
|
||||
auth_keycloak_url: https://auth.example.com
|
||||
auth_realm: master
|
||||
auth_username: USERNAME
|
||||
auth_password: PASSWORD
|
||||
realm: master
|
||||
name: this_is_a_test
|
||||
delegate_to: localhost
|
||||
|
||||
- name: Create or update Keycloak client template (minimal), authentication with token
|
||||
middleware_automation.keycloak.keycloak_clienttemplate:
|
||||
auth_client_id: admin-cli
|
||||
auth_keycloak_url: https://auth.example.com
|
||||
auth_realm: master
|
||||
token: TOKEN
|
||||
realm: master
|
||||
name: this_is_a_test
|
||||
delegate_to: localhost
|
||||
|
||||
- name: Delete Keycloak client template
|
||||
middleware_automation.keycloak.keycloak_client:
|
||||
auth_client_id: admin-cli
|
||||
auth_keycloak_url: https://auth.example.com
|
||||
auth_realm: master
|
||||
auth_username: USERNAME
|
||||
auth_password: PASSWORD
|
||||
realm: master
|
||||
state: absent
|
||||
name: test01
|
||||
delegate_to: localhost
|
||||
|
||||
- name: Create or update Keycloak client template (with a protocol mapper)
|
||||
middleware_automation.keycloak.keycloak_client:
|
||||
auth_client_id: admin-cli
|
||||
auth_keycloak_url: https://auth.example.com
|
||||
auth_realm: master
|
||||
auth_username: USERNAME
|
||||
auth_password: PASSWORD
|
||||
realm: master
|
||||
name: this_is_a_test
|
||||
protocol_mappers:
|
||||
- config:
|
||||
access.token.claim: true
|
||||
claim.name: "family_name"
|
||||
id.token.claim: true
|
||||
jsonType.label: String
|
||||
user.attribute: lastName
|
||||
userinfo.token.claim: true
|
||||
consentRequired: true
|
||||
consentText: "${familyName}"
|
||||
name: family name
|
||||
protocol: openid-connect
|
||||
protocolMapper: oidc-usermodel-property-mapper
|
||||
full_scope_allowed: false
|
||||
id: bce6f5e9-d7d3-4955-817e-c5b7f8d65b3f
|
||||
delegate_to: localhost
|
||||
|
||||
|
||||
|
||||
.. 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-end_state"></div>
|
||||
<p class="ansible-option-title"><strong>end_state</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-end_state" 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>Representation of client template after module execution (sample is truncated).</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> on success</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">{"description": "test01", "fullScopeAllowed": false, "id": "9c3712ab-decd-481e-954f-76da7b006e5f", "name": "test01", "protocol": "saml"}</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="return-existing"></div>
|
||||
<p class="ansible-option-title"><strong>existing</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-existing" 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>Representation of existing client template (sample is truncated).</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">{"description": "test01", "fullScopeAllowed": false, "id": "9c3712ab-decd-481e-954f-76da7b006e5f", "name": "test01", "protocol": "saml"}</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<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>Message as to what action was taken.</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">"Client template testclient has been updated"</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="return-proposed"></div>
|
||||
<p class="ansible-option-title"><strong>proposed</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-proposed" 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>Representation of proposed client template.</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">{"name": "test01"}</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
.. Status (Presently only deprecated)
|
||||
|
||||
|
||||
.. Authors
|
||||
|
||||
Authors
|
||||
~~~~~~~
|
||||
|
||||
- Eike Frost (@eikef)
|
||||
|
||||
|
||||
.. Extra links
|
||||
|
||||
|
||||
.. Parsing errors
|
||||
656
main/_sources/plugins/keycloak_component.rst.txt
Normal file
656
main/_sources/plugins/keycloak_component.rst.txt
Normal file
@@ -0,0 +1,656 @@
|
||||
.. Document meta
|
||||
|
||||
:orphan:
|
||||
|
||||
.. |antsibull-internal-nbsp| unicode:: 0xA0
|
||||
:trim:
|
||||
|
||||
.. meta::
|
||||
:antsibull-docs: 2.24.0
|
||||
|
||||
.. Anchors
|
||||
|
||||
.. _ansible_collections.middleware_automation.keycloak.keycloak_component_module:
|
||||
|
||||
.. Anchors: short name for ansible.builtin
|
||||
|
||||
.. Title
|
||||
|
||||
keycloak_component -- Allows administration of Keycloak components using Keycloak API
|
||||
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
.. 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_component`.
|
||||
|
||||
.. 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 the administration of Keycloak components using the Keycloak REST API. It requires access to the REST API using OpenID Connect; the user connecting and the realm being used must have the requisite access rights. In a default Keycloak installation, :literal:`admin\-cli` and an :literal:`admin` user would work, as would a separate realm definition with the scope tailored to your needs and a user having the expected roles.
|
||||
- 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/latest/rest\-api/index.html <https://www.keycloak.org/docs-api/latest/rest-api/index.html>`__. Aliases are provided so camelCased versions can be used as well.
|
||||
|
||||
|
||||
.. 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">"admin-cli"</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>Configuration properties for the provider.</p>
|
||||
<p>Contents vary depending on the provider type.</p>
|
||||
</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">"Ansible"</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-name"></div>
|
||||
<p class="ansible-option-title"><strong>name</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-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-cell">
|
||||
<p>Name of the component to create.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-parent_id"></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-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 component. In practice the ID (name) of the realm.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-provider_id"></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-type">string</span>
|
||||
/ <span class="ansible-option-required">required</span>
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>The name of the "provider ID" for the key.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-provider_type"></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-type">string</span>
|
||||
/ <span class="ansible-option-required">required</span>
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>The name of the "provider type" for the key. That is, <code class="ansible-value literal notranslate">org.keycloak.storage.UserStorageProvider</code>, <code class="ansible-value literal notranslate">org.keycloak.userprofile.UserProfileProvider</code>, ...</p>
|
||||
<p>See <a href='https://www.keycloak.org/docs/latest/server_development/index.html#_providers'>https://www.keycloak.org/docs/latest/server_development/index.html#_providers</a>.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<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-even">
|
||||
<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 Keycloak component.</p>
|
||||
<p>On <code class="ansible-value literal notranslate">present</code>, the component is created (or updated if it exists already).</p>
|
||||
<p>On <code class="ansible-value literal notranslate">absent</code>, the component 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>"present"</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">"absent"</code></p></li>
|
||||
</ul>
|
||||
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<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-even">
|
||||
<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_component_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_component_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_component_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
|
||||
|
||||
|
||||
.. Seealso
|
||||
|
||||
|
||||
.. Examples
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
.. code-block:: yaml+jinja
|
||||
|
||||
- name: Manage Keycloak User Storage Provider
|
||||
middleware_automation.keycloak.keycloak_component:
|
||||
auth_keycloak_url: http://localhost:8080
|
||||
auth_username: keycloak
|
||||
auth_password: keycloak
|
||||
auth_realm: master
|
||||
name: my storage provider
|
||||
state: present
|
||||
parent_id: some_realm
|
||||
provider_id: my storage
|
||||
provider_type: "org.keycloak.storage.UserStorageProvider"
|
||||
config:
|
||||
myCustomKey: "my_custom_key"
|
||||
cachePolicy: "NO_CACHE"
|
||||
enabled: true
|
||||
|
||||
|
||||
|
||||
.. 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-end_state"></div>
|
||||
<p class="ansible-option-title"><strong>end_state</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-end_state" 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>Representation of the keycloak_component after module execution.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> on success</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="return-end_state/config"></div>
|
||||
<p class="ansible-option-title"><strong>config</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-end_state/config" 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-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>Component configuration.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> success</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="return-end_state/id"></div>
|
||||
<p class="ansible-option-title"><strong>id</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-end_state/id" 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-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>ID of the component.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> when <code class="ansible-option-value literal notranslate"><a class="reference internal" href="#parameter-state"><span class="std std-ref"><span class="pre">state=present</span></span></a></code></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">"5b7ec13f-99da-46ad-8326-ab4c73cf4ce4"</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="return-end_state/name"></div>
|
||||
<p class="ansible-option-title"><strong>name</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-end_state/name" 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-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>Name of the component.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> when <code class="ansible-option-value literal notranslate"><a class="reference internal" href="#parameter-state"><span class="std std-ref"><span class="pre">state=present</span></span></a></code></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">"mykey"</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="return-end_state/parentId"></div>
|
||||
<p class="ansible-option-title"><strong>parentId</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-end_state/parentId" 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-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>ID of the realm this key belongs to.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> when <code class="ansible-option-value literal notranslate"><a class="reference internal" href="#parameter-state"><span class="std std-ref"><span class="pre">state=present</span></span></a></code></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">"myrealm"</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="return-end_state/providerId"></div>
|
||||
<p class="ansible-option-title"><strong>providerId</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-end_state/providerId" 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-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>The ID of the key provider.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> when <code class="ansible-option-value literal notranslate"><a class="reference internal" href="#parameter-state"><span class="std std-ref"><span class="pre">state=present</span></span></a></code></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">"rsa"</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="return-end_state/providerType"></div>
|
||||
<p class="ansible-option-title"><strong>providerType</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-end_state/providerType" 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-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>The type of provider.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> when <code class="ansible-option-value literal notranslate"><a class="reference internal" href="#parameter-state"><span class="std std-ref"><span class="pre">state=present</span></span></a></code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
.. Status (Presently only deprecated)
|
||||
|
||||
|
||||
.. Authors
|
||||
|
||||
Authors
|
||||
~~~~~~~
|
||||
|
||||
- Björn Bösel (@fivetide)
|
||||
|
||||
|
||||
.. Extra links
|
||||
|
||||
|
||||
.. Parsing errors
|
||||
555
main/_sources/plugins/keycloak_component_info.rst.txt
Normal file
555
main/_sources/plugins/keycloak_component_info.rst.txt
Normal file
@@ -0,0 +1,555 @@
|
||||
.. Document meta
|
||||
|
||||
:orphan:
|
||||
|
||||
.. |antsibull-internal-nbsp| unicode:: 0xA0
|
||||
:trim:
|
||||
|
||||
.. meta::
|
||||
:antsibull-docs: 2.24.0
|
||||
|
||||
.. Anchors
|
||||
|
||||
.. _ansible_collections.middleware_automation.keycloak.keycloak_component_info_module:
|
||||
|
||||
.. Anchors: short name for ansible.builtin
|
||||
|
||||
.. Title
|
||||
|
||||
keycloak_component_info -- Retrieve component info in Keycloak
|
||||
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
.. 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_component_info`.
|
||||
|
||||
.. version_added
|
||||
|
||||
.. rst-class:: ansible-version-added
|
||||
|
||||
New in middleware\_automation.keycloak 3.0.0
|
||||
|
||||
.. contents::
|
||||
:local:
|
||||
:depth: 1
|
||||
|
||||
.. Deprecated
|
||||
|
||||
|
||||
Synopsis
|
||||
--------
|
||||
|
||||
.. Description
|
||||
|
||||
- This module retrieve information on component from Keycloak.
|
||||
|
||||
|
||||
.. 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">"admin-cli"</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-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-odd">
|
||||
<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">"Ansible"</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-name"></div>
|
||||
<p class="ansible-option-title"><strong>name</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-name" 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>Name of the Component.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-parent_id"></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-type">string</span>
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>Container ID of the components.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-provider_type"></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-type">string</span>
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>Provider type of components.</p>
|
||||
<p>Examples: <code class="ansible-value literal notranslate">org.keycloak.storage.UserStorageProvider</code>, <code class="ansible-value literal notranslate">org.keycloak.services.clientregistration.policy.ClientRegistrationPolicy</code>, <code class="ansible-value literal notranslate">org.keycloak.keys.KeyProvider</code>, <code class="ansible-value literal notranslate">org.keycloak.userprofile.UserProfileProvider</code>, <code class="ansible-value literal notranslate">org.keycloak.storage.ldap.mappers.LDAPStorageMapper</code>.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-realm"></div>
|
||||
<p class="ansible-option-title"><strong>realm</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-realm" 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-cell">
|
||||
<p>The name of the realm.</p>
|
||||
</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-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-even">
|
||||
<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_component_info_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_component_info_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`
|
||||
|
||||
This action does not modify state.
|
||||
|
||||
|
||||
.. 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_component_info_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-na:`N/A`
|
||||
|
||||
This action does not modify state.
|
||||
|
||||
|
||||
.. 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
|
||||
|
||||
|
||||
.. Seealso
|
||||
|
||||
|
||||
.. Examples
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
.. code-block:: yaml+jinja
|
||||
|
||||
- name: Retrive info of a UserStorageProvider named myldap
|
||||
middleware_automation.keycloak.keycloak_component_info:
|
||||
auth_keycloak_url: http://localhost:8080
|
||||
auth_username: admin
|
||||
auth_password: password
|
||||
auth_realm: master
|
||||
realm: myrealm
|
||||
name: myldap
|
||||
provider_type: org.keycloak.storage.UserStorageProvider
|
||||
|
||||
- name: Retrive key info component
|
||||
middleware_automation.keycloak.keycloak_component_info:
|
||||
auth_keycloak_url: http://localhost:8080
|
||||
auth_username: admin
|
||||
auth_password: password
|
||||
auth_realm: master
|
||||
realm: myrealm
|
||||
name: rsa-enc-generated
|
||||
provider_type: org.keycloak.keys.KeyProvider
|
||||
|
||||
- name: Retrive all component from realm master
|
||||
middleware_automation.keycloak.keycloak_component_info:
|
||||
auth_keycloak_url: http://localhost:8080
|
||||
auth_username: admin
|
||||
auth_password: password
|
||||
auth_realm: master
|
||||
realm: myrealm
|
||||
|
||||
- name: Retrive all sub components of parent component filter by type
|
||||
middleware_automation.keycloak.keycloak_component_info:
|
||||
auth_keycloak_url: http://localhost:8080
|
||||
auth_username: admin
|
||||
auth_password: password
|
||||
auth_realm: master
|
||||
realm: myrealm
|
||||
parent_id: "075ef2fa-19fc-4a6d-bf4c-249f57365fd2"
|
||||
provider_type: "org.keycloak.storage.ldap.mappers.LDAPStorageMapper"
|
||||
|
||||
|
||||
|
||||
.. 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-components"></div>
|
||||
<p class="ansible-option-title"><strong>components</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-components" title="Permalink to this return value"></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-cell">
|
||||
<p>JSON representation of components.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> always</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
.. Status (Presently only deprecated)
|
||||
|
||||
|
||||
.. Authors
|
||||
|
||||
Authors
|
||||
~~~~~~~
|
||||
|
||||
- Andre Desrosiers (@desand01)
|
||||
|
||||
|
||||
.. Extra links
|
||||
|
||||
|
||||
.. Parsing errors
|
||||
864
main/_sources/plugins/keycloak_group.rst.txt
Normal file
864
main/_sources/plugins/keycloak_group.rst.txt
Normal file
@@ -0,0 +1,864 @@
|
||||
.. Document meta
|
||||
|
||||
:orphan:
|
||||
|
||||
.. |antsibull-internal-nbsp| unicode:: 0xA0
|
||||
:trim:
|
||||
|
||||
.. meta::
|
||||
:antsibull-docs: 2.24.0
|
||||
|
||||
.. Anchors
|
||||
|
||||
.. _ansible_collections.middleware_automation.keycloak.keycloak_group_module:
|
||||
|
||||
.. Anchors: short name for ansible.builtin
|
||||
|
||||
.. Title
|
||||
|
||||
keycloak_group -- Allows administration of Keycloak groups using Keycloak API
|
||||
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
.. 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_group`.
|
||||
|
||||
.. 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 add, remove or modify Keycloak groups using the Keycloak REST API. It requires access to the REST API using OpenID Connect; the user connecting and the client being used must have the requisite access rights. In a default Keycloak installation, admin\-cli and an admin user would work, as would a separate client definition with the scope tailored to your needs and a user having the expected roles.
|
||||
- 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/20.0.2/rest\-api/index.html <https://www.keycloak.org/docs-api/20.0.2/rest-api/index.html>`__.
|
||||
- Attributes are multi\-valued in the Keycloak API. All attributes are lists of individual values and are returned that way by this module. You may pass single values for attributes when calling the module, and this is translated into a list suitable for the API.
|
||||
- When updating a group, where possible provide the group ID to the module. This removes a lookup to the API to translate the name into the group ID.
|
||||
|
||||
|
||||
.. 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-attributes"></div>
|
||||
<p class="ansible-option-title"><strong>attributes</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-attributes" 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>A dict of key/value pairs to set as custom attributes for the group.</p>
|
||||
<p>Values may be single values (for example a string) or a list of strings.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<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">"admin-cli"</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<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-odd">
|
||||
<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-even">
|
||||
<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-odd">
|
||||
<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-even">
|
||||
<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-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">"Ansible"</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-id"></div>
|
||||
<p class="ansible-option-title"><strong>id</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-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>The unique identifier for this group.</p>
|
||||
<p>This parameter is not required for updating or deleting a group but providing it reduces the number of API calls required.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-name"></div>
|
||||
<p class="ansible-option-title"><strong>name</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-name" 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>Name of the group.</p>
|
||||
<p>This parameter is required only when creating or updating the group.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-parents"></div>
|
||||
<p class="ansible-option-title"><strong>parents</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-parents" 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-cell">
|
||||
<p>List of parent groups for the group to handle sorted top to bottom.</p>
|
||||
<p>Set this to create a group as a subgroup of another group or groups (parents) or when accessing an existing subgroup by name.</p>
|
||||
<p>Not necessary to set when accessing an existing subgroup by its <code class='docutils literal notranslate'>ID</code> because in that case the group can be directly queried without necessarily knowing its parent(s).</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-parents/id"></div>
|
||||
<p class="ansible-option-title"><strong>id</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-parents/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-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>Identify parent by ID.</p>
|
||||
<p>Needs less API calls than using <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-parents/name"><span class="std std-ref"><span class="pre">parents[].name</span></span></a></strong></code>.</p>
|
||||
<p>A deep parent chain can be started at any point when first given parent is given as ID.</p>
|
||||
<p>Note that in principle both ID and name can be specified at the same time but current implementation only always use just one of them, with ID being preferred.</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-parents/name"></div>
|
||||
<p class="ansible-option-title"><strong>name</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-parents/name" 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-cell">
|
||||
<p>Identify parent by name.</p>
|
||||
<p>Needs more internal API calls than using <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-parents/id"><span class="std std-ref"><span class="pre">parents[].id</span></span></a></strong></code> to map names to ID's under the hood.</p>
|
||||
<p>When giving a parent chain with only names it must be complete up to the top.</p>
|
||||
<p>Note that in principle both ID and name can be specified at the same time but current implementation only always use just one of them, with ID being preferred.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-realm"></div>
|
||||
<p class="ansible-option-title"><strong>realm</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-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>They Keycloak realm under which this group resides.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-default-bold">Default:</strong> <code class="ansible-value literal notranslate ansible-option-default">"master"</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<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-even">
|
||||
<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 group.</p>
|
||||
<p>On <code class="ansible-value literal notranslate">present</code>, the group 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 group is removed if it exists. Be aware that absenting a group with subgroups automatically deletes all its subgroups too.</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>"present"</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">"absent"</code></p></li>
|
||||
</ul>
|
||||
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<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-even">
|
||||
<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_group_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_group_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_group_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::
|
||||
- Presently, the :ansretval:`middleware\_automation.keycloak.keycloak\_group#module:end\_state.realmRoles`\ , :ansretval:`middleware\_automation.keycloak.keycloak\_group#module:end\_state.clientRoles`\ , and :ansretval:`middleware\_automation.keycloak.keycloak\_group#module:end\_state.access` attributes returned by the Keycloak API are read\-only for groups. This limitation will be removed in a later version of this module.
|
||||
|
||||
.. Seealso
|
||||
|
||||
|
||||
.. Examples
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
.. code-block:: yaml+jinja
|
||||
|
||||
- name: Create a Keycloak group, authentication with credentials
|
||||
middleware_automation.keycloak.keycloak_group:
|
||||
name: my-new-kc-group
|
||||
realm: MyCustomRealm
|
||||
state: present
|
||||
auth_client_id: admin-cli
|
||||
auth_keycloak_url: https://auth.example.com
|
||||
auth_realm: master
|
||||
auth_username: USERNAME
|
||||
auth_password: PASSWORD
|
||||
register: result_new_kcgrp
|
||||
delegate_to: localhost
|
||||
|
||||
- name: Create a Keycloak group, authentication with token
|
||||
middleware_automation.keycloak.keycloak_group:
|
||||
name: my-new-kc-group
|
||||
realm: MyCustomRealm
|
||||
state: present
|
||||
auth_client_id: admin-cli
|
||||
auth_keycloak_url: https://auth.example.com
|
||||
token: TOKEN
|
||||
delegate_to: localhost
|
||||
|
||||
- name: Delete a keycloak group
|
||||
middleware_automation.keycloak.keycloak_group:
|
||||
id: '9d59aa76-2755-48c6-b1af-beb70a82c3cd'
|
||||
state: absent
|
||||
realm: MyCustomRealm
|
||||
auth_client_id: admin-cli
|
||||
auth_keycloak_url: https://auth.example.com
|
||||
auth_realm: master
|
||||
auth_username: USERNAME
|
||||
auth_password: PASSWORD
|
||||
delegate_to: localhost
|
||||
|
||||
- name: Delete a Keycloak group based on name
|
||||
middleware_automation.keycloak.keycloak_group:
|
||||
name: my-group-for-deletion
|
||||
state: absent
|
||||
auth_client_id: admin-cli
|
||||
auth_keycloak_url: https://auth.example.com
|
||||
auth_realm: master
|
||||
auth_username: USERNAME
|
||||
auth_password: PASSWORD
|
||||
delegate_to: localhost
|
||||
|
||||
- name: Update the name of a Keycloak group
|
||||
middleware_automation.keycloak.keycloak_group:
|
||||
id: '9d59aa76-2755-48c6-b1af-beb70a82c3cd'
|
||||
name: an-updated-kc-group-name
|
||||
state: present
|
||||
auth_client_id: admin-cli
|
||||
auth_keycloak_url: https://auth.example.com
|
||||
auth_realm: master
|
||||
auth_username: USERNAME
|
||||
auth_password: PASSWORD
|
||||
delegate_to: localhost
|
||||
|
||||
- name: Create a keycloak group with some custom attributes
|
||||
middleware_automation.keycloak.keycloak_group:
|
||||
auth_client_id: admin-cli
|
||||
auth_keycloak_url: https://auth.example.com
|
||||
auth_realm: master
|
||||
auth_username: USERNAME
|
||||
auth_password: PASSWORD
|
||||
name: my-new_group
|
||||
attributes:
|
||||
attrib1: value1
|
||||
attrib2: value2
|
||||
attrib3:
|
||||
- with
|
||||
- numerous
|
||||
- individual
|
||||
- list
|
||||
- items
|
||||
delegate_to: localhost
|
||||
|
||||
- name: Create a Keycloak subgroup of a base group (using parent name)
|
||||
middleware_automation.keycloak.keycloak_group:
|
||||
name: my-new-kc-group-sub
|
||||
realm: MyCustomRealm
|
||||
state: present
|
||||
auth_client_id: admin-cli
|
||||
auth_keycloak_url: https://auth.example.com
|
||||
auth_realm: master
|
||||
auth_username: USERNAME
|
||||
auth_password: PASSWORD
|
||||
parents:
|
||||
- name: my-new-kc-group
|
||||
register: result_new_kcgrp_sub
|
||||
delegate_to: localhost
|
||||
|
||||
- name: Create a Keycloak subgroup of a base group (using parent id)
|
||||
middleware_automation.keycloak.keycloak_group:
|
||||
name: my-new-kc-group-sub2
|
||||
realm: MyCustomRealm
|
||||
state: present
|
||||
auth_client_id: admin-cli
|
||||
auth_keycloak_url: https://auth.example.com
|
||||
auth_realm: master
|
||||
auth_username: USERNAME
|
||||
auth_password: PASSWORD
|
||||
parents:
|
||||
- id: "{{ result_new_kcgrp.end_state.id }}"
|
||||
delegate_to: localhost
|
||||
|
||||
- name: Create a Keycloak subgroup of a subgroup (using parent names)
|
||||
middleware_automation.keycloak.keycloak_group:
|
||||
name: my-new-kc-group-sub-sub
|
||||
realm: MyCustomRealm
|
||||
state: present
|
||||
auth_client_id: admin-cli
|
||||
auth_keycloak_url: https://auth.example.com
|
||||
auth_realm: master
|
||||
auth_username: USERNAME
|
||||
auth_password: PASSWORD
|
||||
parents:
|
||||
- name: my-new-kc-group
|
||||
- name: my-new-kc-group-sub
|
||||
delegate_to: localhost
|
||||
|
||||
- name: Create a Keycloak subgroup of a subgroup (using direct parent id)
|
||||
middleware_automation.keycloak.keycloak_group:
|
||||
name: my-new-kc-group-sub-sub
|
||||
realm: MyCustomRealm
|
||||
state: present
|
||||
auth_client_id: admin-cli
|
||||
auth_keycloak_url: https://auth.example.com
|
||||
auth_realm: master
|
||||
auth_username: USERNAME
|
||||
auth_password: PASSWORD
|
||||
parents:
|
||||
- id: "{{ result_new_kcgrp_sub.end_state.id }}"
|
||||
delegate_to: localhost
|
||||
|
||||
|
||||
|
||||
.. 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-end_state"></div>
|
||||
<p class="ansible-option-title"><strong>end_state</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-end_state" title="Permalink to this return value"></a>
|
||||
<p class="ansible-option-type-line">
|
||||
<span class="ansible-option-type">complex</span>
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>Representation of the group after module execution (sample is truncated).</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> on success</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="return-end_state/access"></div>
|
||||
<p class="ansible-option-title"><strong>access</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-end_state/access" 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-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>A dict describing the accesses you have to this group based on the credentials used.</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">{"manage": true, "manageMembership": true, "view": true}</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="return-end_state/attributes"></div>
|
||||
<p class="ansible-option-title"><strong>attributes</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-end_state/attributes" 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-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>Attributes applied to this group.</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">{"attr1": ["val1", "val2", "val3"]}</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="return-end_state/clientRoles"></div>
|
||||
<p class="ansible-option-title"><strong>clientRoles</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-end_state/clientRoles" title="Permalink to this return value"></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-cell">
|
||||
<p>A list of client-level roles granted to this group.</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">[]</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="return-end_state/id"></div>
|
||||
<p class="ansible-option-title"><strong>id</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-end_state/id" 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-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>GUID that identifies the group.</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">"23f38145-3195-462c-97e7-97041ccea73e"</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="return-end_state/name"></div>
|
||||
<p class="ansible-option-title"><strong>name</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-end_state/name" 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-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>Name of the group.</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">"grp-test-123"</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="return-end_state/path"></div>
|
||||
<p class="ansible-option-title"><strong>path</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-end_state/path" 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-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>URI path to the group.</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">"/grp-test-123"</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="return-end_state/realmRoles"></div>
|
||||
<p class="ansible-option-title"><strong>realmRoles</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-end_state/realmRoles" title="Permalink to this return value"></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-cell">
|
||||
<p>An array of the realm-level roles granted to this group.</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">[]</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="return-end_state/subGroups"></div>
|
||||
<p class="ansible-option-title"><strong>subGroups</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-end_state/subGroups" title="Permalink to this return value"></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-cell">
|
||||
<p>A list of groups that are children of this group. These groups have the same parameters as documented here.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> always</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>Message as to what action was taken.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> always</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
.. Status (Presently only deprecated)
|
||||
|
||||
|
||||
.. Authors
|
||||
|
||||
Authors
|
||||
~~~~~~~
|
||||
|
||||
- Adam Goossens (@adamgoossens)
|
||||
|
||||
|
||||
.. Extra links
|
||||
|
||||
|
||||
.. Parsing errors
|
||||
1252
main/_sources/plugins/keycloak_identity_provider.rst.txt
Normal file
1252
main/_sources/plugins/keycloak_identity_provider.rst.txt
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
406
main/_sources/plugins/keycloak_realm_info.rst.txt
Normal file
406
main/_sources/plugins/keycloak_realm_info.rst.txt
Normal file
@@ -0,0 +1,406 @@
|
||||
.. Document meta
|
||||
|
||||
:orphan:
|
||||
|
||||
.. |antsibull-internal-nbsp| unicode:: 0xA0
|
||||
:trim:
|
||||
|
||||
.. meta::
|
||||
:antsibull-docs: 2.24.0
|
||||
|
||||
.. Anchors
|
||||
|
||||
.. _ansible_collections.middleware_automation.keycloak.keycloak_realm_info_module:
|
||||
|
||||
.. Anchors: short name for ansible.builtin
|
||||
|
||||
.. Title
|
||||
|
||||
keycloak_realm_info -- Allows obtaining Keycloak realm public information using Keycloak API
|
||||
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
.. 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_realm_info`.
|
||||
|
||||
.. 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 get Keycloak realm public information using the Keycloak REST API.
|
||||
- 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/latest/rest\-api/index.html <https://www.keycloak.org/docs-api/latest/rest-api/index.html>`__.
|
||||
- Attributes are multi\-valued in the Keycloak API. All attributes are lists of individual values and are returned that way by this module. You may pass single values for attributes when calling the module, and this is translated into a list suitable for the API.
|
||||
|
||||
|
||||
.. 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_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-realm"></div>
|
||||
<p class="ansible-option-title"><strong>realm</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-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>They Keycloak realm ID.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-default-bold">Default:</strong> <code class="ansible-value literal notranslate ansible-option-default">"master"</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<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-check_mode"></div>
|
||||
|
||||
.. _ansible_collections.middleware_automation.keycloak.keycloak_realm_info_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`
|
||||
|
||||
This action does not modify state.
|
||||
|
||||
|
||||
.. 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_realm_info_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-na:`N/A`
|
||||
|
||||
This action does not modify state.
|
||||
|
||||
|
||||
.. 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
|
||||
|
||||
|
||||
.. Seealso
|
||||
|
||||
|
||||
.. Examples
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
.. code-block:: yaml+jinja
|
||||
|
||||
- name: Get a Keycloak public key
|
||||
middleware_automation.keycloak.keycloak_realm_info:
|
||||
realm: MyCustomRealm
|
||||
auth_keycloak_url: https://auth.example.com
|
||||
delegate_to: localhost
|
||||
|
||||
|
||||
|
||||
.. 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-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>Message as to what action was taken.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> always</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="return-realm_info"></div>
|
||||
<p class="ansible-option-title"><strong>realm_info</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-realm_info" 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>Representation of the realm public information.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> always</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="return-realm_info/account-service"></div>
|
||||
<p class="ansible-option-title"><strong>account-service</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-realm_info/account-service" 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-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>Account console URL.</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">"https://auth.example.com/realms/MyRealm/account"</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="return-realm_info/public_key"></div>
|
||||
<p class="ansible-option-title"><strong>public_key</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-realm_info/public_key" 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-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>Public key of the realm.</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">"MIIBIjANBgkqhkiG9w0BAQEFAAO..."</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="return-realm_info/realm"></div>
|
||||
<p class="ansible-option-title"><strong>realm</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-realm_info/realm" 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-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>Realm ID.</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">"MyRealm"</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="return-realm_info/token-service"></div>
|
||||
<p class="ansible-option-title"><strong>token-service</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-realm_info/token-service" 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-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>Token endpoint URL.</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">"https://auth.example.com/realms/MyRealm/protocol/openid-connect"</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="return-realm_info/tokens-not-before"></div>
|
||||
<p class="ansible-option-title"><strong>tokens-not-before</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-realm_info/tokens-not-before" title="Permalink to this return value"></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-cell">
|
||||
<p>The token not before.</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">0</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
.. Status (Presently only deprecated)
|
||||
|
||||
|
||||
.. Authors
|
||||
|
||||
Authors
|
||||
~~~~~~~
|
||||
|
||||
- Fynn Chen (@fynncfchen)
|
||||
|
||||
|
||||
.. Extra links
|
||||
|
||||
|
||||
.. Parsing errors
|
||||
1238
main/_sources/plugins/keycloak_realm_key.rst.txt
Normal file
1238
main/_sources/plugins/keycloak_realm_key.rst.txt
Normal file
File diff suppressed because it is too large
Load Diff
542
main/_sources/plugins/keycloak_realm_keys_metadata_info.rst.txt
Normal file
542
main/_sources/plugins/keycloak_realm_keys_metadata_info.rst.txt
Normal file
@@ -0,0 +1,542 @@
|
||||
.. Document meta
|
||||
|
||||
:orphan:
|
||||
|
||||
.. |antsibull-internal-nbsp| unicode:: 0xA0
|
||||
:trim:
|
||||
|
||||
.. meta::
|
||||
:antsibull-docs: 2.24.0
|
||||
|
||||
.. Anchors
|
||||
|
||||
.. _ansible_collections.middleware_automation.keycloak.keycloak_realm_keys_metadata_info_module:
|
||||
|
||||
.. Anchors: short name for ansible.builtin
|
||||
|
||||
.. Title
|
||||
|
||||
keycloak_realm_keys_metadata_info -- Allows obtaining Keycloak realm keys metadata using Keycloak API
|
||||
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
.. 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_realm_keys_metadata_info`.
|
||||
|
||||
.. 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 get Keycloak realm keys metadata using the Keycloak REST API.
|
||||
- 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/latest/rest\-api/index.html <https://www.keycloak.org/docs-api/latest/rest-api/index.html>`__.
|
||||
|
||||
|
||||
.. 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">"admin-cli"</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-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-odd">
|
||||
<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">"Ansible"</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-realm"></div>
|
||||
<p class="ansible-option-title"><strong>realm</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-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>They Keycloak realm to fetch keys metadata.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-default-bold">Default:</strong> <code class="ansible-value literal notranslate ansible-option-default">"master"</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<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-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_realm_keys_metadata_info_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_realm_keys_metadata_info_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`
|
||||
|
||||
This action does not modify state.
|
||||
|
||||
|
||||
.. 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_realm_keys_metadata_info_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-na:`N/A`
|
||||
|
||||
This action does not modify state.
|
||||
|
||||
|
||||
.. 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
|
||||
|
||||
|
||||
.. Seealso
|
||||
|
||||
|
||||
.. Examples
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
.. code-block:: yaml+jinja
|
||||
|
||||
- name: Fetch Keys metadata
|
||||
middleware_automation.keycloak.keycloak_realm_keys_metadata_info:
|
||||
auth_keycloak_url: https://auth.example.com
|
||||
auth_realm: master
|
||||
auth_username: USERNAME
|
||||
auth_password: PASSWORD
|
||||
realm: MyCustomRealm
|
||||
delegate_to: localhost
|
||||
register: keycloak_keys_metadata
|
||||
|
||||
- name: Write the Keycloak keys certificate into a file
|
||||
ansible.builtin.copy:
|
||||
dest: /tmp/keycloak.cert
|
||||
content: |
|
||||
{{ keys_metadata['keycloak_keys_metadata']['keys']
|
||||
| selectattr('algorithm', 'equalto', 'RS256')
|
||||
| map(attribute='certificate')
|
||||
| first
|
||||
}}
|
||||
delegate_to: localhost
|
||||
|
||||
|
||||
|
||||
.. 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-keys_metadata"></div>
|
||||
<p class="ansible-option-title"><strong>keys_metadata</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-keys_metadata" 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>Representation of the realm keys metadata (see <a href='https://www.keycloak.org/docs-api/latest/rest-api/index.html#KeysMetadataRepresentation'>https://www.keycloak.org/docs-api/latest/rest-api/index.html#KeysMetadataRepresentation</a>).</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> always</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="return-keys_metadata/active"></div>
|
||||
<p class="ansible-option-title"><strong>active</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-keys_metadata/active" 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-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>A mapping (that is, a dict) from key algorithms to UUIDs.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> always</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="return-keys_metadata/keys"></div>
|
||||
<p class="ansible-option-title"><strong>keys</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-keys_metadata/keys" title="Permalink to this return value"></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-cell">
|
||||
<p>A list of dicts providing detailed information on the keys.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> always</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>Message as to what action was taken.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> always</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
.. Status (Presently only deprecated)
|
||||
|
||||
|
||||
.. Authors
|
||||
|
||||
Authors
|
||||
~~~~~~~
|
||||
|
||||
- Thomas Bach (@thomasbach-dev)
|
||||
|
||||
|
||||
.. Extra links
|
||||
|
||||
|
||||
.. Parsing errors
|
||||
692
main/_sources/plugins/keycloak_realm_localization.rst.txt
Normal file
692
main/_sources/plugins/keycloak_realm_localization.rst.txt
Normal file
@@ -0,0 +1,692 @@
|
||||
.. Document meta
|
||||
|
||||
:orphan:
|
||||
|
||||
.. |antsibull-internal-nbsp| unicode:: 0xA0
|
||||
:trim:
|
||||
|
||||
.. meta::
|
||||
:antsibull-docs: 2.24.0
|
||||
|
||||
.. Anchors
|
||||
|
||||
.. _ansible_collections.middleware_automation.keycloak.keycloak_realm_localization_module:
|
||||
|
||||
.. Anchors: short name for ansible.builtin
|
||||
|
||||
.. Title
|
||||
|
||||
keycloak_realm_localization -- Allows management of Keycloak realm localization overrides via the Keycloak API
|
||||
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
.. 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_realm_localization`.
|
||||
|
||||
.. 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 manage per\-locale message overrides for a Keycloak realm using the Keycloak Admin REST API.
|
||||
- Requires access via OpenID Connect; the connecting user/client must have sufficient privileges.
|
||||
- The names of module options are snake\_cased versions of the names found in the Keycloak API.
|
||||
|
||||
|
||||
.. 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">"admin-cli"</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-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-odd">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-force"></div>
|
||||
<p class="ansible-option-title"><strong>force</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-force" 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>If <code class="ansible-value literal notranslate">false</code>, only the keys listed in the <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-overrides"><span class="std std-ref"><span class="pre">overrides</span></span></a></strong></code> are modified by this module. Any other pre-existing keys are ignored.</p>
|
||||
<p>If <code class="ansible-value literal notranslate">true</code>, all locale overrides are made to match configuration of this module. For example any keys missing from the <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-overrides"><span class="std std-ref"><span class="pre">overrides</span></span></a></strong></code> are removed regardless of <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-state"><span class="std std-ref"><span class="pre">state</span></span></a></strong></code> value.</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-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">"Ansible"</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-locale"></div>
|
||||
<p class="ansible-option-title"><strong>locale</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-locale" 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-cell">
|
||||
<p>Locale code for which the overrides apply (for example, <code class="ansible-value literal notranslate">en</code>, <code class="ansible-value literal notranslate">fi</code>, <code class="ansible-value literal notranslate">de</code>).</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-overrides"></div>
|
||||
<p class="ansible-option-title"><strong>overrides</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-overrides" 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-cell">
|
||||
<p>List of overrides to ensure for the locale when <code class="ansible-option-value literal notranslate"><a class="reference internal" href="#parameter-state"><span class="std std-ref"><span class="pre">state=present</span></span></a></code>. Each item is a mapping with the record's <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-overrides/key"><span class="std std-ref"><span class="pre">overrides[].key</span></span></a></strong></code> and its <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-overrides/value"><span class="std std-ref"><span class="pre">overrides[].value</span></span></a></strong></code>.</p>
|
||||
<p>Ignored when <code class="ansible-option-value literal notranslate"><a class="reference internal" href="#parameter-state"><span class="std std-ref"><span class="pre">state=absent</span></span></a></code>.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-default-bold">Default:</strong> <code class="ansible-value literal notranslate ansible-option-default">[]</code></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-overrides/key"></div>
|
||||
<p class="ansible-option-title"><strong>key</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-overrides/key" 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-cell">
|
||||
<p>The message key to override.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-overrides/value"></div>
|
||||
<p class="ansible-option-title"><strong>value</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-overrides/value" 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-cell">
|
||||
<p>The override value for the message key. If omitted, value defaults to an empty string.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-default-bold">Default:</strong> <code class="ansible-value literal notranslate ansible-option-default">""</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-parent_id"></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-type">string</span>
|
||||
/ <span class="ansible-option-required">required</span>
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>Name of the realm that owns the locale overrides.</p>
|
||||
</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>Desired state of localization overrides for the given locale.</p>
|
||||
<p>On <code class="ansible-value literal notranslate">present</code>, the set of overrides for the locale are made to match <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-overrides"><span class="std std-ref"><span class="pre">overrides</span></span></a></strong></code>. If <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-force"><span class="std std-ref"><span class="pre">force</span></span></a></strong></code> is <code class="ansible-value literal notranslate">true</code> keys not listed in <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-overrides"><span class="std std-ref"><span class="pre">overrides</span></span></a></strong></code> are removed, and the listed keys are created or updated. If <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-force"><span class="std std-ref"><span class="pre">force</span></span></a></strong></code> is <code class="ansible-value literal notranslate">false</code> keys not listed in <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-overrides"><span class="std std-ref"><span class="pre">overrides</span></span></a></strong></code> are ignored, and the listed keys are created or updated.</p>
|
||||
<p>On <code class="ansible-value literal notranslate">absent</code>, overrides for the locale is removed. If <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-force"><span class="std std-ref"><span class="pre">force</span></span></a></strong></code> is <code class="ansible-value literal notranslate">true</code>, all keys are removed. If <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-force"><span class="std std-ref"><span class="pre">force</span></span></a></strong></code> is <code class="ansible-value literal notranslate">false</code>, only the keys listed in <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-overrides"><span class="std std-ref"><span class="pre">overrides</span></span></a></strong></code> are removed.</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>"present"</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">"absent"</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_realm_localization_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`
|
||||
|
||||
|
||||
.. 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_realm_localization_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_realm_localization_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
|
||||
|
||||
|
||||
.. Seealso
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
.. seealso::
|
||||
|
||||
:ref:`middleware\_automation.keycloak.keycloak\_realm <ansible_collections.middleware_automation.keycloak.keycloak_realm_module>`
|
||||
You can specify list of supported locales using :ansopt:`middleware\_automation.keycloak.keycloak\_realm#module:supported\_locales`.
|
||||
|
||||
.. Examples
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
.. code-block:: yaml+jinja
|
||||
|
||||
- name: Replace all overrides for locale "en" (credentials auth)
|
||||
middleware_automation.keycloak.keycloak_realm_localization:
|
||||
auth_client_id: admin-cli
|
||||
auth_keycloak_url: https://auth.example.com
|
||||
auth_realm: master
|
||||
auth_username: USERNAME
|
||||
auth_password: PASSWORD
|
||||
parent_id: my-realm
|
||||
locale: en
|
||||
state: present
|
||||
force: true
|
||||
overrides:
|
||||
- key: greeting
|
||||
value: "Hello"
|
||||
- key: farewell
|
||||
value: "Bye"
|
||||
delegate_to: localhost
|
||||
|
||||
- name: Replace listed overrides for locale "en" (credentials auth)
|
||||
middleware_automation.keycloak.keycloak_realm_localization:
|
||||
auth_client_id: admin-cli
|
||||
auth_keycloak_url: https://auth.example.com
|
||||
auth_realm: master
|
||||
auth_username: USERNAME
|
||||
auth_password: PASSWORD
|
||||
parent_id: my-realm
|
||||
locale: en
|
||||
state: present
|
||||
force: false
|
||||
overrides:
|
||||
- key: greeting
|
||||
value: "Hello"
|
||||
- key: farewell
|
||||
value: "Bye"
|
||||
delegate_to: localhost
|
||||
|
||||
- name: Ensure only one override exists for locale "fi" (token auth)
|
||||
middleware_automation.keycloak.keycloak_realm_localization:
|
||||
auth_client_id: admin-cli
|
||||
auth_keycloak_url: https://auth.example.com
|
||||
token: TOKEN
|
||||
parent_id: my-realm
|
||||
locale: fi
|
||||
state: present
|
||||
force: true
|
||||
overrides:
|
||||
- key: app.title
|
||||
value: "Sovellukseni"
|
||||
delegate_to: localhost
|
||||
|
||||
- name: Remove all overrides for locale "de"
|
||||
middleware_automation.keycloak.keycloak_realm_localization:
|
||||
auth_client_id: admin-cli
|
||||
auth_keycloak_url: https://auth.example.com
|
||||
auth_realm: master
|
||||
auth_username: USERNAME
|
||||
auth_password: PASSWORD
|
||||
parent_id: my-realm
|
||||
locale: de
|
||||
state: absent
|
||||
force: true
|
||||
delegate_to: localhost
|
||||
|
||||
- name: Remove only the listed overrides for locale "de"
|
||||
middleware_automation.keycloak.keycloak_realm_localization:
|
||||
auth_client_id: admin-cli
|
||||
auth_keycloak_url: https://auth.example.com
|
||||
auth_realm: master
|
||||
auth_username: USERNAME
|
||||
auth_password: PASSWORD
|
||||
parent_id: my-realm
|
||||
locale: de
|
||||
state: absent
|
||||
force: false
|
||||
overrides:
|
||||
- key: app.title
|
||||
- key: foo
|
||||
- key: bar
|
||||
delegate_to: localhost
|
||||
|
||||
|
||||
|
||||
.. 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-end_state"></div>
|
||||
<p class="ansible-option-title"><strong>end_state</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-end_state" 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>Final state of localization overrides for the locale after module execution.</p>
|
||||
<p>Contains the <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-locale"><span class="std std-ref"><span class="pre">locale</span></span></a></strong></code> and the list of <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-overrides"><span class="std std-ref"><span class="pre">overrides</span></span></a></strong></code> as key/value items.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> on success</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="return-end_state/locale"></div>
|
||||
<p class="ansible-option-title"><strong>locale</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-end_state/locale" 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-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>The locale code affected.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> success</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">"en"</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="return-end_state/overrides"></div>
|
||||
<p class="ansible-option-title"><strong>overrides</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-end_state/overrides" title="Permalink to this return value"></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-cell">
|
||||
<p>The list of overrides that exist after execution.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> success</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">[{"key": "greeting", "value": "Hello"}, {"key": "farewell", "value": "Bye"}]</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
.. Status (Presently only deprecated)
|
||||
|
||||
|
||||
.. Authors
|
||||
|
||||
Authors
|
||||
~~~~~~~
|
||||
|
||||
- Jakub Danek (@danekja)
|
||||
|
||||
|
||||
.. Extra links
|
||||
|
||||
|
||||
.. Parsing errors
|
||||
731
main/_sources/plugins/keycloak_realm_rolemapping.rst.txt
Normal file
731
main/_sources/plugins/keycloak_realm_rolemapping.rst.txt
Normal file
@@ -0,0 +1,731 @@
|
||||
.. Document meta
|
||||
|
||||
:orphan:
|
||||
|
||||
.. |antsibull-internal-nbsp| unicode:: 0xA0
|
||||
:trim:
|
||||
|
||||
.. meta::
|
||||
:antsibull-docs: 2.24.0
|
||||
|
||||
.. Anchors
|
||||
|
||||
.. _ansible_collections.middleware_automation.keycloak.keycloak_realm_rolemapping_module:
|
||||
|
||||
.. Anchors: short name for ansible.builtin
|
||||
|
||||
.. Title
|
||||
|
||||
keycloak_realm_rolemapping -- Allows administration of Keycloak realm role mappings into groups with the Keycloak API
|
||||
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
.. 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_realm_rolemapping`.
|
||||
|
||||
.. 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 add, remove or modify Keycloak realm role mappings into groups with the Keycloak REST API. It requires access to the REST API using OpenID Connect; the user connecting and the client being used must have the requisite access rights. In a default Keycloak installation, admin\-cli and an admin user would work, as would a separate client definition with the scope tailored to your needs and a user having the expected roles.
|
||||
- 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/18.0/rest\-api/index.html <https://www.keycloak.org/docs-api/18.0/rest-api/index.html>`__.
|
||||
- Attributes are multi\-valued in the Keycloak API. All attributes are lists of individual values and are returned that way by this module. You may pass single values for attributes when calling the module, and this is translated into a list suitable for the API.
|
||||
- When updating a group\_rolemapping, where possible provide the role ID to the module. This removes a lookup to the API to translate the name into the role ID.
|
||||
|
||||
|
||||
.. 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">"admin-cli"</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-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-odd">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-gid"></div>
|
||||
<p class="ansible-option-title"><strong>gid</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-gid" 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>ID of the group to be mapped.</p>
|
||||
<p>This parameter is not required for updating or deleting the rolemapping but providing it reduces the number of API calls required.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-group_name"></div>
|
||||
<p class="ansible-option-title"><strong>group_name</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-group_name" 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>Name of the group to be mapped.</p>
|
||||
<p>This parameter is required (can be replaced by gid for less API call).</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<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">"Ansible"</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-parents"></div>
|
||||
<p class="ansible-option-title"><strong>parents</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-parents" 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-cell">
|
||||
<p>List of parent groups for the group to handle sorted top to bottom.</p>
|
||||
<p>Set this if your group is a subgroup and you do not provide the GID in <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-gid"><span class="std std-ref"><span class="pre">gid</span></span></a></strong></code>.</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-parents/id"></div>
|
||||
<p class="ansible-option-title"><strong>id</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-parents/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-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>Identify parent by ID.</p>
|
||||
<p>Needs less API calls than using <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-parents/name"><span class="std std-ref"><span class="pre">parents[].name</span></span></a></strong></code>.</p>
|
||||
<p>A deep parent chain can be started at any point when first given parent is given as ID.</p>
|
||||
<p>Note that in principle both ID and name can be specified at the same time but current implementation only always use just one of them, with ID being preferred.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-parents/name"></div>
|
||||
<p class="ansible-option-title"><strong>name</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-parents/name" 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-cell">
|
||||
<p>Identify parent by name.</p>
|
||||
<p>Needs more internal API calls than using <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-parents/id"><span class="std std-ref"><span class="pre">parents[].id</span></span></a></strong></code> to map names to ID's under the hood.</p>
|
||||
<p>When giving a parent chain with only names it must be complete up to the top.</p>
|
||||
<p>Note that in principle both ID and name can be specified at the same time but current implementation only always use just one of them, with ID being preferred.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-realm"></div>
|
||||
<p class="ansible-option-title"><strong>realm</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-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>They Keycloak realm under which this role_representation resides.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-default-bold">Default:</strong> <code class="ansible-value literal notranslate ansible-option-default">"master"</code></p>
|
||||
</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-roles"></div>
|
||||
<p class="ansible-option-title"><strong>roles</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-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=dictionary</span>
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>Roles to be mapped to the group.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-roles/id"></div>
|
||||
<p class="ansible-option-title"><strong>id</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-roles/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-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>The unique identifier for this role_representation.</p>
|
||||
<p>This parameter is not required for updating or deleting a role_representation but providing it reduces the number of API calls required.</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-roles/name"></div>
|
||||
<p class="ansible-option-title"><strong>name</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-roles/name" 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-cell">
|
||||
<p>Name of the role_representation.</p>
|
||||
<p>This parameter is required only when creating or updating the role_representation.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
|
||||
<tr class="row-even">
|
||||
<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 realm_rolemapping.</p>
|
||||
<p>On <code class='docutils literal notranslate'>present</code>, the realm_rolemapping is created if it does not yet exist, or updated with the parameters you provide.</p>
|
||||
<p>On <code class='docutils literal notranslate'>absent</code>, the realm_rolemapping 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>"present"</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">"absent"</code></p></li>
|
||||
</ul>
|
||||
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<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-even">
|
||||
<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_realm_rolemapping_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_realm_rolemapping_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_realm_rolemapping_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
|
||||
|
||||
|
||||
.. Seealso
|
||||
|
||||
|
||||
.. Examples
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
.. code-block:: yaml+jinja
|
||||
|
||||
- name: Map a client role to a group, authentication with credentials
|
||||
middleware_automation.keycloak.keycloak_realm_rolemapping:
|
||||
realm: MyCustomRealm
|
||||
auth_client_id: admin-cli
|
||||
auth_keycloak_url: https://auth.example.com
|
||||
auth_realm: master
|
||||
auth_username: USERNAME
|
||||
auth_password: PASSWORD
|
||||
state: present
|
||||
group_name: group1
|
||||
roles:
|
||||
- name: role_name1
|
||||
id: role_id1
|
||||
- name: role_name2
|
||||
id: role_id2
|
||||
delegate_to: localhost
|
||||
|
||||
- name: Map a client role to a group, authentication with token
|
||||
middleware_automation.keycloak.keycloak_realm_rolemapping:
|
||||
realm: MyCustomRealm
|
||||
auth_client_id: admin-cli
|
||||
auth_keycloak_url: https://auth.example.com
|
||||
token: TOKEN
|
||||
state: present
|
||||
group_name: group1
|
||||
roles:
|
||||
- name: role_name1
|
||||
id: role_id1
|
||||
- name: role_name2
|
||||
id: role_id2
|
||||
delegate_to: localhost
|
||||
|
||||
- name: Map a client role to a subgroup, authentication with token
|
||||
middleware_automation.keycloak.keycloak_realm_rolemapping:
|
||||
realm: MyCustomRealm
|
||||
auth_client_id: admin-cli
|
||||
auth_keycloak_url: https://auth.example.com
|
||||
token: TOKEN
|
||||
state: present
|
||||
group_name: subgroup1
|
||||
parents:
|
||||
- name: parent-group
|
||||
roles:
|
||||
- name: role_name1
|
||||
id: role_id1
|
||||
- name: role_name2
|
||||
id: role_id2
|
||||
delegate_to: localhost
|
||||
|
||||
- name: Unmap realm role from a group
|
||||
middleware_automation.keycloak.keycloak_realm_rolemapping:
|
||||
realm: MyCustomRealm
|
||||
auth_client_id: admin-cli
|
||||
auth_keycloak_url: https://auth.example.com
|
||||
auth_realm: master
|
||||
auth_username: USERNAME
|
||||
auth_password: PASSWORD
|
||||
state: absent
|
||||
group_name: group1
|
||||
roles:
|
||||
- name: role_name1
|
||||
id: role_id1
|
||||
- name: role_name2
|
||||
id: role_id2
|
||||
delegate_to: localhost
|
||||
|
||||
|
||||
|
||||
.. 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-end_state"></div>
|
||||
<p class="ansible-option-title"><strong>end_state</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-end_state" 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>Representation of client role mapping after module execution.</p>
|
||||
<p>The sample is truncated.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> on success</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">{"adminUrl": "http://www.example.com/admin_url", "attributes": {"request.object.signature.alg": "RS256"}}</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="return-existing"></div>
|
||||
<p class="ansible-option-title"><strong>existing</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-existing" 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>Representation of existing client role mapping.</p>
|
||||
<p>The sample is truncated.</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">{"adminUrl": "http://www.example.com/admin_url", "attributes": {"request.object.signature.alg": "RS256"}}</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<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>Message as to what action was taken.</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">"Role role1 assigned to group group1."</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="return-proposed"></div>
|
||||
<p class="ansible-option-title"><strong>proposed</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-proposed" 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>Representation of proposed client role mapping.</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">{"clientId": "test"}</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
.. Status (Presently only deprecated)
|
||||
|
||||
|
||||
.. Authors
|
||||
|
||||
Authors
|
||||
~~~~~~~
|
||||
|
||||
- Gaëtan Daubresse (@Gaetan2907)
|
||||
- Marius Huysamen (@mhuysamen)
|
||||
- Alexander Groß (@agross)
|
||||
|
||||
|
||||
.. Extra links
|
||||
|
||||
|
||||
.. Parsing errors
|
||||
@@ -16,8 +16,8 @@
|
||||
|
||||
.. Title
|
||||
|
||||
keycloak_role -- Allows administration of Keycloak roles via Keycloak API
|
||||
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
keycloak_role -- Allows administration of Keycloak roles using Keycloak API
|
||||
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
.. Collection note
|
||||
|
||||
@@ -35,7 +35,7 @@ keycloak_role -- Allows administration of Keycloak roles via Keycloak API
|
||||
|
||||
.. rst-class:: ansible-version-added
|
||||
|
||||
New in middleware\_automation.keycloak 3.4.0
|
||||
New in middleware\_automation.keycloak 3.0.0
|
||||
|
||||
.. contents::
|
||||
:local:
|
||||
@@ -49,9 +49,9 @@ Synopsis
|
||||
|
||||
.. Description
|
||||
|
||||
- This module allows you to add, remove or modify Keycloak roles via the Keycloak REST API. It requires access to the REST API via OpenID Connect; the user connecting and the client being used must have the requisite access rights. In a default Keycloak installation, admin\-cli and an admin user would work, as would a separate client definition with the scope tailored to your needs and a user having the expected roles.
|
||||
- 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/8.0/rest\-api/index.html <https://www.keycloak.org/docs-api/8.0/rest-api/index.html>`__.
|
||||
- Attributes are multi\-valued in the Keycloak API. All attributes are lists of individual values and will be returned that way by this module. You may pass single values for attributes when calling the module, and this will be translated into a list suitable for the API.
|
||||
- This module allows you to add, remove or modify Keycloak roles using the Keycloak REST API. It requires access to the REST API using OpenID Connect; the user connecting and the client being used must have the requisite access rights. In a default Keycloak installation, admin\-cli and an admin user would work, as would a separate client definition with the scope tailored to your needs and a user having the expected roles.
|
||||
- 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/latest/rest\-api/index.html <https://www.keycloak.org/docs-api/latest/rest-api/index.html>`__.
|
||||
- Attributes are multi\-valued in the Keycloak API. All attributes are lists of individual values and are returned that way by this module. You may pass single values for attributes when calling the module, and this is translated into a list suitable for the API.
|
||||
|
||||
|
||||
.. Aliases
|
||||
@@ -90,7 +90,7 @@ Parameters
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>A dict of key/value pairs to set as custom attributes for the role.</p>
|
||||
<p>Values may be single values (e.g. a string) or a list of strings.</p>
|
||||
<p>Values may be single values (for example a string) or a list of strings.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
@@ -189,7 +189,7 @@ Parameters
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>If the role is a client role, the client id under which it resides.</p>
|
||||
<p>If the role is a client role, the client ID under which it resides.</p>
|
||||
<p>If this parameter is absent, the role is considered a realm role.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
@@ -201,7 +201,6 @@ Parameters
|
||||
<p class="ansible-option-type-line">
|
||||
<span class="ansible-option-type">boolean</span>
|
||||
</p>
|
||||
<p><em class="ansible-option-versionadded">added in middleware_automation.keycloak 7.1.0</em></p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>If <code class="ansible-value literal notranslate">true</code>, the role is a composition of other realm and/or client role.</p>
|
||||
@@ -222,7 +221,6 @@ Parameters
|
||||
<span class="ansible-option-type">list</span>
|
||||
/ <span class="ansible-option-elements">elements=dictionary</span>
|
||||
</p>
|
||||
<p><em class="ansible-option-versionadded">added in middleware_automation.keycloak 7.1.0</em></p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>List of roles to include to the composite realm role.</p>
|
||||
@@ -288,7 +286,6 @@ Parameters
|
||||
<p class="ansible-option-type-line">
|
||||
<span class="ansible-option-type">integer</span>
|
||||
</p>
|
||||
<p><em class="ansible-option-versionadded">added in middleware_automation.keycloak 4.5.0</em></p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>Controls the HTTP connections timeout period (in seconds) to Keycloak API.</p>
|
||||
@@ -316,7 +313,6 @@ Parameters
|
||||
<p class="ansible-option-type-line">
|
||||
<span class="ansible-option-type">string</span>
|
||||
</p>
|
||||
<p><em class="ansible-option-versionadded">added in middleware_automation.keycloak 5.4.0</em></p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>Configures the HTTP User-Agent header.</p>
|
||||
@@ -353,6 +349,19 @@ Parameters
|
||||
</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>
|
||||
@@ -363,8 +372,8 @@ Parameters
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>State of the role.</p>
|
||||
<p>On <code class="ansible-value literal notranslate">present</code>, the role will be 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 role will be removed if it exists.</p>
|
||||
<p>On <code class="ansible-value literal notranslate">present</code>, the role 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 role 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>"present"</strong></code> <span class="ansible-option-choices-default-mark">← (default)</span></p></li>
|
||||
@@ -373,7 +382,7 @@ Parameters
|
||||
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<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>
|
||||
@@ -381,13 +390,12 @@ Parameters
|
||||
<p class="ansible-option-type-line">
|
||||
<span class="ansible-option-type">string</span>
|
||||
</p>
|
||||
<p><em class="ansible-option-versionadded">added in middleware_automation.keycloak 3.0.0</em></p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>Authentication token for Keycloak API.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<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>
|
||||
@@ -429,6 +437,50 @@ Attributes
|
||||
- Support
|
||||
- Description
|
||||
|
||||
* - .. raw:: html
|
||||
|
||||
<div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="attribute-action_group"></div>
|
||||
|
||||
.. _ansible_collections.middleware_automation.keycloak.keycloak_role_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">
|
||||
@@ -533,7 +585,7 @@ Examples
|
||||
realm: MyCustomRealm
|
||||
state: present
|
||||
auth_client_id: admin-cli
|
||||
auth_keycloak_url: https://auth.example.com/auth
|
||||
auth_keycloak_url: https://auth.example.com
|
||||
auth_realm: master
|
||||
auth_username: USERNAME
|
||||
auth_password: PASSWORD
|
||||
@@ -545,7 +597,7 @@ Examples
|
||||
realm: MyCustomRealm
|
||||
state: present
|
||||
auth_client_id: admin-cli
|
||||
auth_keycloak_url: https://auth.example.com/auth
|
||||
auth_keycloak_url: https://auth.example.com
|
||||
token: TOKEN
|
||||
delegate_to: localhost
|
||||
|
||||
@@ -556,7 +608,7 @@ Examples
|
||||
client_id: MyClient
|
||||
state: present
|
||||
auth_client_id: admin-cli
|
||||
auth_keycloak_url: https://auth.example.com/auth
|
||||
auth_keycloak_url: https://auth.example.com
|
||||
auth_realm: master
|
||||
auth_username: USERNAME
|
||||
auth_password: PASSWORD
|
||||
@@ -567,7 +619,7 @@ Examples
|
||||
name: my-role-for-deletion
|
||||
state: absent
|
||||
auth_client_id: admin-cli
|
||||
auth_keycloak_url: https://auth.example.com/auth
|
||||
auth_keycloak_url: https://auth.example.com
|
||||
auth_realm: master
|
||||
auth_username: USERNAME
|
||||
auth_password: PASSWORD
|
||||
@@ -576,20 +628,20 @@ Examples
|
||||
- name: Create a keycloak role with some custom attributes
|
||||
middleware_automation.keycloak.keycloak_role:
|
||||
auth_client_id: admin-cli
|
||||
auth_keycloak_url: https://auth.example.com/auth
|
||||
auth_keycloak_url: https://auth.example.com
|
||||
auth_realm: master
|
||||
auth_username: USERNAME
|
||||
auth_password: PASSWORD
|
||||
name: my-new-role
|
||||
attributes:
|
||||
attrib1: value1
|
||||
attrib2: value2
|
||||
attrib3:
|
||||
- with
|
||||
- numerous
|
||||
- individual
|
||||
- list
|
||||
- items
|
||||
attrib1: value1
|
||||
attrib2: value2
|
||||
attrib3:
|
||||
- with
|
||||
- numerous
|
||||
- individual
|
||||
- list
|
||||
- items
|
||||
delegate_to: localhost
|
||||
|
||||
|
||||
|
||||
1133
main/_sources/plugins/keycloak_user.rst.txt
Normal file
1133
main/_sources/plugins/keycloak_user.rst.txt
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,611 @@
|
||||
.. Document meta
|
||||
|
||||
:orphan:
|
||||
|
||||
.. |antsibull-internal-nbsp| unicode:: 0xA0
|
||||
:trim:
|
||||
|
||||
.. meta::
|
||||
:antsibull-docs: 2.24.0
|
||||
|
||||
.. Anchors
|
||||
|
||||
.. _ansible_collections.middleware_automation.keycloak.keycloak_user_execute_actions_email_module:
|
||||
|
||||
.. Anchors: short name for ansible.builtin
|
||||
|
||||
.. Title
|
||||
|
||||
keycloak_user_execute_actions_email -- Send a Keycloak execute\-actions email to a user
|
||||
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
.. 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_user_execute_actions_email`.
|
||||
|
||||
.. version_added
|
||||
|
||||
.. rst-class:: ansible-version-added
|
||||
|
||||
New in middleware\_automation.keycloak 3.0.0
|
||||
|
||||
.. contents::
|
||||
:local:
|
||||
:depth: 1
|
||||
|
||||
.. Deprecated
|
||||
|
||||
|
||||
Synopsis
|
||||
--------
|
||||
|
||||
.. Description
|
||||
|
||||
- Triggers the Keycloak endpoint :literal:`execute\-actions\-email` for a user. This sends an email with one or more required actions the user must complete (for example resetting the password).
|
||||
- If no :ansopt:`middleware\_automation.keycloak.keycloak\_user\_execute\_actions\_email#module:actions` list is provided, the default action :literal:`UPDATE\_PASSWORD` is used.
|
||||
- You must supply either the user's :ansopt:`middleware\_automation.keycloak.keycloak\_user\_execute\_actions\_email#module:id` or :ansopt:`middleware\_automation.keycloak.keycloak\_user\_execute\_actions\_email#module:username`. Supplying only :literal:`username` causes an extra lookup call.
|
||||
- This module always reports :ansretval:`changed=true` because sending an email is a side effect and cannot be made idempotent.
|
||||
|
||||
|
||||
.. 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-actions"></div>
|
||||
<p class="ansible-option-title"><strong>actions</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-actions" 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-cell">
|
||||
<p>List of required actions to include in the email.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-default-bold">Default:</strong> <code class="ansible-value literal notranslate ansible-option-default">["UPDATE_PASSWORD"]</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<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">"admin-cli"</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<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-odd">
|
||||
<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-even">
|
||||
<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-odd">
|
||||
<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-even">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-auth_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-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-odd">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-client_id"></div>
|
||||
<div class="ansibleOptionAnchor" id="parameter-clientId"></div>
|
||||
<p class="ansible-option-title"><strong>client_id</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-client_id" title="Permalink to this option"></a>
|
||||
<p class="ansible-option-type-line"><span class="ansible-option-aliases">aliases: clientId</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>Optional client ID used for the redirect link.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<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-odd">
|
||||
<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">"Ansible"</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-id"></div>
|
||||
<p class="ansible-option-title"><strong>id</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-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>The unique ID (UUID) of the user.</p>
|
||||
<p>Mutually exclusive with <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-username"><span class="std std-ref"><span class="pre">username</span></span></a></strong></code>.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-lifespan"></div>
|
||||
<p class="ansible-option-title"><strong>lifespan</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-lifespan" 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>Optional lifespan (in seconds) for the action token (supported on newer Keycloak versions). Forwarded as query parameter if provided.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-realm"></div>
|
||||
<p class="ansible-option-title"><strong>realm</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-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>The Keycloak realm where the user resides.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-default-bold">Default:</strong> <code class="ansible-value literal notranslate ansible-option-default">"master"</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-redirect_uri"></div>
|
||||
<div class="ansibleOptionAnchor" id="parameter-redirectUri"></div>
|
||||
<p class="ansible-option-title"><strong>redirect_uri</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-redirect_uri" title="Permalink to this option"></a>
|
||||
<p class="ansible-option-type-line"><span class="ansible-option-aliases">aliases: redirectUri</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>Optional redirect URI. Must be valid for the given client if <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-client_id"><span class="std std-ref"><span class="pre">client_id</span></span></a></strong></code> is set.</p>
|
||||
</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-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-even">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-username"></div>
|
||||
<p class="ansible-option-title"><strong>username</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-username" 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>Username of the user.</p>
|
||||
<p>Mutually exclusive with <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-id"><span class="std std-ref"><span class="pre">id</span></span></a></strong></code>.</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_user_execute_actions_email_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`
|
||||
|
||||
|
||||
.. 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_user_execute_actions_email_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_user_execute_actions_email_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-none:`none`
|
||||
|
||||
|
||||
.. 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
|
||||
|
||||
|
||||
.. Seealso
|
||||
|
||||
|
||||
.. Examples
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
.. code-block:: yaml+jinja
|
||||
|
||||
- name: Password reset email (default action) with 1h lifespan
|
||||
middleware_automation.keycloak.keycloak_user_execute_actions_email:
|
||||
username: johndoe
|
||||
realm: MyRealm
|
||||
auth_client_id: admin-cli
|
||||
auth_keycloak_url: https://auth.example.com
|
||||
auth_realm: master
|
||||
auth_username: ADMIN
|
||||
auth_password: SECRET
|
||||
lifespan: 3600
|
||||
delegate_to: localhost
|
||||
|
||||
- name: Multiple required actions using token auth
|
||||
middleware_automation.keycloak.keycloak_user_execute_actions_email:
|
||||
username: johndoe
|
||||
actions:
|
||||
- UPDATE_PASSWORD
|
||||
- VERIFY_EMAIL
|
||||
realm: MyRealm
|
||||
auth_client_id: admin-cli
|
||||
auth_keycloak_url: https://auth.example.com
|
||||
token: TOKEN
|
||||
delegate_to: localhost
|
||||
|
||||
- name: Email by user id with redirect
|
||||
middleware_automation.keycloak.keycloak_user_execute_actions_email:
|
||||
id: 9d59aa76-2755-48c6-b1af-beb70a82c3cd
|
||||
client_id: my-frontend
|
||||
redirect_uri: https://app.example.com/post-actions
|
||||
actions:
|
||||
- UPDATE_PASSWORD
|
||||
realm: MyRealm
|
||||
auth_client_id: admin-cli
|
||||
auth_keycloak_url: https://auth.example.com
|
||||
auth_realm: master
|
||||
auth_username: ADMIN
|
||||
auth_password: SECRET
|
||||
delegate_to: localhost
|
||||
|
||||
|
||||
|
||||
.. 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-actions"></div>
|
||||
<p class="ansible-option-title"><strong>actions</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-actions" title="Permalink to this return value"></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-cell">
|
||||
<p>List of actions included in the email.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> success</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="return-user_id"></div>
|
||||
<p class="ansible-option-title"><strong>user_id</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-user_id" 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 user ID the email was (or would be, in check mode) sent to.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> success</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
.. Status (Presently only deprecated)
|
||||
|
||||
|
||||
.. Authors
|
||||
|
||||
Authors
|
||||
~~~~~~~
|
||||
|
||||
- Marius Bertram (@mariusbertram)
|
||||
|
||||
|
||||
.. Extra links
|
||||
|
||||
|
||||
.. Parsing errors
|
||||
@@ -16,8 +16,8 @@
|
||||
|
||||
.. Title
|
||||
|
||||
keycloak_user_federation -- Allows administration of Keycloak user federations via Keycloak API
|
||||
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
keycloak_user_federation -- Allows administration of Keycloak user federations using Keycloak API
|
||||
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
.. Collection note
|
||||
|
||||
@@ -35,7 +35,7 @@ keycloak_user_federation -- Allows administration of Keycloak user federations v
|
||||
|
||||
.. rst-class:: ansible-version-added
|
||||
|
||||
New in middleware\_automation.keycloak 3.7.0
|
||||
New in middleware\_automation.keycloak 3.0.0
|
||||
|
||||
.. contents::
|
||||
:local:
|
||||
@@ -49,7 +49,7 @@ Synopsis
|
||||
|
||||
.. Description
|
||||
|
||||
- This module allows you to add, remove or modify Keycloak user federations via the Keycloak REST API. It requires access to the REST API via OpenID Connect; the user connecting and the client being used must have the requisite access rights. In a default Keycloak installation, admin\-cli and an admin user would work, as would a separate client definition with the scope tailored to your needs and a user having the expected roles.
|
||||
- This module allows you to add, remove or modify Keycloak user federations using the Keycloak REST API. It requires access to the REST API using OpenID Connect; the user connecting and the client being used must have the requisite access rights. In a default Keycloak installation, admin\-cli and an admin user would work, as would a separate client definition with the scope tailored to your needs and a user having the expected roles.
|
||||
- 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/20.0.2/rest\-api/index.html <https://www.keycloak.org/docs-api/20.0.2/rest-api/index.html>`__.
|
||||
|
||||
|
||||
@@ -175,8 +175,8 @@ Parameters
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>The value of the config parameter <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-config/bindCredential"><span class="std std-ref"><span class="pre">config.bindCredential</span></span></a></strong></code> is redacted in the Keycloak responses. Comparing the redacted value with the desired value always evaluates to not equal. This means the before and desired states are never equal if the parameter is set.</p>
|
||||
<p>Set to <code class="ansible-value literal notranslate">always</code> to include <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-config/bindCredential"><span class="std std-ref"><span class="pre">config.bindCredential</span></span></a></strong></code> in the comparison of before and desired state. Because of the redacted value returned by Keycloak the module will always detect a change and make an update if a <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-config/bindCredential"><span class="std std-ref"><span class="pre">config.bindCredential</span></span></a></strong></code> value is set.</p>
|
||||
<p>Set to <code class="ansible-value literal notranslate">only_indirect</code> to exclude <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-config/bindCredential"><span class="std std-ref"><span class="pre">config.bindCredential</span></span></a></strong></code> when comparing the before state with the desired state. The value of <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-config/bindCredential"><span class="std std-ref"><span class="pre">config.bindCredential</span></span></a></strong></code> will only be updated if there are other changes to the user federation that require an update.</p>
|
||||
<p>Set to <code class="ansible-value literal notranslate">always</code> to include <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-config/bindCredential"><span class="std std-ref"><span class="pre">config.bindCredential</span></span></a></strong></code> in the comparison of before and desired state. Because of the redacted value returned by Keycloak the module always detects a change and make an update if a <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-config/bindCredential"><span class="std std-ref"><span class="pre">config.bindCredential</span></span></a></strong></code> value is set.</p>
|
||||
<p>Set to <code class="ansible-value literal notranslate">only_indirect</code> to exclude <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-config/bindCredential"><span class="std std-ref"><span class="pre">config.bindCredential</span></span></a></strong></code> when comparing the before state with the desired state. The value of <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-config/bindCredential"><span class="std std-ref"><span class="pre">config.bindCredential</span></span></a></strong></code> is only updated if there are other changes to the user federation that require an update.</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>"always"</strong></code> <span class="ansible-option-choices-default-mark">← (default)</span></p></li>
|
||||
@@ -196,7 +196,7 @@ Parameters
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>Dict specifying the configuration options for the provider; the contents differ depending on the value of <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-provider_id"><span class="std std-ref"><span class="pre">provider_id</span></span></a></strong></code>. Examples are given below for <code class="ansible-value literal notranslate">ldap</code>, <code class="ansible-value literal notranslate">kerberos</code> and <code class="ansible-value literal notranslate">sssd</code>. It is easiest to obtain valid config values by dumping an already-existing user federation configuration through check-mode in the <code class="ansible-return-value literal notranslate"><a class="reference internal" href="#return-existing"><span class="std std-ref"><span class="pre">existing</span></span></a></code> field.</p>
|
||||
<p>The value <code class="ansible-value literal notranslate">sssd</code> has been supported since middleware_automation.keycloak 2.0.0.</p>
|
||||
<p>The value <code class="ansible-value literal notranslate">sssd</code> has been supported since middleware_automation.keycloak 4.2.0.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
@@ -209,7 +209,7 @@ Parameters
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>Enable/disable HTTP authentication of users with SPNEGO/Kerberos tokens. The data about authenticated users will be provisioned from this LDAP server.</p>
|
||||
<p>Enable/disable HTTP authentication of users with SPNEGO/Kerberos tokens. The data about authenticated users is provisioned from this LDAP server.</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>
|
||||
@@ -293,7 +293,7 @@ Parameters
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>DN of LDAP user which will be used by Keycloak to access LDAP server.</p>
|
||||
<p>DN of LDAP user which is used by Keycloak to access LDAP server.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
@@ -485,7 +485,7 @@ Parameters
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>Additional LDAP Filter for filtering searched users. Leave this empty if you don't need additional filter.</p>
|
||||
<p>Additional LDAP Filter for filtering searched users. Leave this empty if you do not need additional filter.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
@@ -517,7 +517,7 @@ Parameters
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p><code class="ansible-value literal notranslate">READ_ONLY</code> is a read-only LDAP store. <code class="ansible-value literal notranslate">WRITABLE</code> means data will be synced back to LDAP on demand. <code class="ansible-value literal notranslate">UNSYNCED</code> means user data will be imported, but not synced back to LDAP.</p>
|
||||
<p><code class="ansible-value literal notranslate">READ_ONLY</code> is a read-only LDAP store. <code class="ansible-value literal notranslate">WRITABLE</code> means data is synced back to LDAP on demand. <code class="ansible-value literal notranslate">UNSYNCED</code> means user data is imported, but not synced back to LDAP.</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">"READ_ONLY"</code></p></li>
|
||||
@@ -556,7 +556,7 @@ Parameters
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>Day of the week the entry will become invalid on.</p>
|
||||
<p>Day of the week the entry is set to become invalid on.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
@@ -569,7 +569,7 @@ Parameters
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>Hour of day the entry will become invalid on.</p>
|
||||
<p>Hour of day the entry is set to become invalid on.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
@@ -582,7 +582,7 @@ Parameters
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>Minute of day the entry will become invalid on.</p>
|
||||
<p>Minute of day the entry is set to become invalid on.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
@@ -609,7 +609,7 @@ Parameters
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>If <code class="ansible-value literal notranslate">true</code>, LDAP users will be imported into Keycloak DB and synced by the configured sync policies.</p>
|
||||
<p>If <code class="ansible-value literal notranslate">true</code>, LDAP users are imported into Keycloak DB and synced by the configured sync policies.</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>
|
||||
@@ -654,7 +654,7 @@ Parameters
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>Name of the LDAP attribute, which refers to Kerberos principal. This is used to lookup appropriate LDAP user after successful Kerberos/SPNEGO authentication in Keycloak. When this is empty, the LDAP user will be looked based on LDAP username corresponding to the first part of his Kerberos principal. For instance, for principal <code class='docutils literal notranslate'>john@KEYCLOAK.ORG</code>, it will assume that LDAP username is <code class="ansible-value literal notranslate">john</code>.</p>
|
||||
<p>Name of the LDAP attribute, which refers to Kerberos principal. This is used to lookup appropriate LDAP user after successful Kerberos/SPNEGO authentication in Keycloak. When this is empty, the LDAP user is looked up based on LDAP username corresponding to the first part of his Kerberos principal. For instance, for principal <code class='docutils literal notranslate'>john@KEYCLOAK.ORG</code>, it assumes that LDAP username is <code class="ansible-value literal notranslate">john</code>.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
@@ -713,7 +713,7 @@ Parameters
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>Name of LDAP attribute, which is used as RDN (top attribute) of typical user DN. Usually it's the same as Username LDAP attribute, however it is not required. For example for Active directory, it is common to use <code class="ansible-value literal notranslate">cn</code> as RDN attribute when username attribute might be <code class="ansible-value literal notranslate">sAMAccountName</code>.</p>
|
||||
<p>Name of LDAP attribute, which is used as RDN (top attribute) of typical user DN. Usually it is the same as Username LDAP attribute, however it is not required. For example for Active directory, it is common to use <code class="ansible-value literal notranslate">cn</code> as RDN attribute when username attribute might be <code class="ansible-value literal notranslate">sAMAccountName</code>.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
@@ -790,7 +790,7 @@ Parameters
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>Encrypts the connection to LDAP using STARTTLS, which will disable connection pooling.</p>
|
||||
<p>Encrypts the connection to LDAP using STARTTLS, which disables connection pooling.</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>
|
||||
@@ -917,7 +917,7 @@ Parameters
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>All values of LDAP objectClass attribute for users in LDAP divided by comma. For example <code class="ansible-value literal notranslate">inetOrgPerson, organizationalPerson</code>. Newly created Keycloak users will be written to LDAP with all those object classes and existing LDAP user records are found just if they contain all those object classes.</p>
|
||||
<p>All values of LDAP objectClass attribute for users in LDAP divided by comma. For example <code class="ansible-value literal notranslate">inetOrgPerson, organizationalPerson</code>. Newly created Keycloak users are written to LDAP with all those object classes and existing LDAP user records are found just if they contain all those object classes.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
@@ -943,7 +943,8 @@ Parameters
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>Specifies whether LDAP connection will use the truststore SPI with the truststore configured in standalone.xml/domain.xml. <code class="ansible-value literal notranslate">always</code> means that it will always use it. <code class="ansible-value literal notranslate">never</code> means that it will not use it. <code class="ansible-value literal notranslate">ldapsOnly</code> means that it will use if your connection URL use ldaps. Note even if standalone.xml/domain.xml is not configured, the default Java cacerts or certificate specified by <code class='docutils literal notranslate'>javax.net.ssl.trustStore</code> property will be used.</p>
|
||||
<p>Specifies whether LDAP connection uses the truststore SPI with the truststore configured in standalone.xml/domain.xml. <code class="ansible-value literal notranslate">always</code> means that it always uses it. <code class="ansible-value literal notranslate">never</code> means that it does not use it. <code class="ansible-value literal notranslate">ldapsOnly</code> means that it uses if your connection URL use ldaps.</p>
|
||||
<p>Note even if standalone.xml/domain.xml is not configured, the default Java cacerts or certificate specified by <code class='docutils literal notranslate'>javax.net.ssl.trustStore</code> property is used.</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">"always"</code></p></li>
|
||||
@@ -1008,7 +1009,6 @@ Parameters
|
||||
<p class="ansible-option-type-line">
|
||||
<span class="ansible-option-type">integer</span>
|
||||
</p>
|
||||
<p><em class="ansible-option-versionadded">added in middleware_automation.keycloak 4.5.0</em></p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>Controls the HTTP connections timeout period (in seconds) to Keycloak API.</p>
|
||||
@@ -1023,7 +1023,6 @@ Parameters
|
||||
<p class="ansible-option-type-line">
|
||||
<span class="ansible-option-type">string</span>
|
||||
</p>
|
||||
<p><em class="ansible-option-versionadded">added in middleware_automation.keycloak 5.4.0</em></p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>Configures the HTTP User-Agent header.</p>
|
||||
@@ -1040,7 +1039,7 @@ Parameters
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>The unique ID for this user federation. If left empty, the user federation will be searched by its <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-name"><span class="std std-ref"><span class="pre">name</span></span></a></strong></code>.</p>
|
||||
<p>The unique ID for this user federation. If left empty, the user federation is searched by its <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-name"><span class="std std-ref"><span class="pre">name</span></span></a></strong></code>.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
@@ -1093,7 +1092,7 @@ Parameters
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>Name of the mapper. If no ID is given, the mapper will be searched by name.</p>
|
||||
<p>Name of the mapper. If no ID is given, the mapper is searched by name.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
@@ -1106,7 +1105,7 @@ Parameters
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>Unique ID for the parent of this mapper. ID of the user federation will automatically be used if left blank.</p>
|
||||
<p>Unique ID for the parent of this mapper. ID of the user federation is automatically used if left blank.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
@@ -1162,7 +1161,7 @@ Parameters
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>Unique ID for the parent of this user federation. Realm ID will be automatically used if left blank.</p>
|
||||
<p>Unique ID for the parent of this user federation. Realm ID is automatically used if left blank.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
@@ -1211,6 +1210,19 @@ Parameters
|
||||
</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-remove_unspecified_mappers"></div>
|
||||
<p class="ansible-option-title"><strong>remove_unspecified_mappers</strong></p>
|
||||
@@ -1230,7 +1242,7 @@ Parameters
|
||||
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-state"></div>
|
||||
<p class="ansible-option-title"><strong>state</strong></p>
|
||||
@@ -1241,8 +1253,8 @@ Parameters
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>State of the user federation.</p>
|
||||
<p>On <code class="ansible-value literal notranslate">present</code>, the user federation will be 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 federation will be removed if it exists.</p>
|
||||
<p>On <code class="ansible-value literal notranslate">present</code>, the user federation 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 federation 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>"present"</strong></code> <span class="ansible-option-choices-default-mark">← (default)</span></p></li>
|
||||
@@ -1251,7 +1263,7 @@ Parameters
|
||||
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-token"></div>
|
||||
<p class="ansible-option-title"><strong>token</strong></p>
|
||||
@@ -1259,13 +1271,12 @@ Parameters
|
||||
<p class="ansible-option-type-line">
|
||||
<span class="ansible-option-type">string</span>
|
||||
</p>
|
||||
<p><em class="ansible-option-versionadded">added in middleware_automation.keycloak 3.0.0</em></p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>Authentication token for Keycloak API.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-validate_certs"></div>
|
||||
<p class="ansible-option-title"><strong>validate_certs</strong></p>
|
||||
@@ -1307,6 +1318,50 @@ Attributes
|
||||
- Support
|
||||
- Description
|
||||
|
||||
* - .. raw:: html
|
||||
|
||||
<div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="attribute-action_group"></div>
|
||||
|
||||
.. _ansible_collections.middleware_automation.keycloak.keycloak_user_federation_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">
|
||||
@@ -1407,7 +1462,7 @@ Examples
|
||||
|
||||
- name: Create LDAP user federation
|
||||
middleware_automation.keycloak.keycloak_user_federation:
|
||||
auth_keycloak_url: https://keycloak.example.com/auth
|
||||
auth_keycloak_url: https://keycloak.example.com
|
||||
auth_realm: master
|
||||
auth_username: admin
|
||||
auth_password: password
|
||||
@@ -1417,32 +1472,32 @@ Examples
|
||||
provider_id: ldap
|
||||
provider_type: org.keycloak.storage.UserStorageProvider
|
||||
config:
|
||||
priority: 0
|
||||
enabled: true
|
||||
cachePolicy: DEFAULT
|
||||
batchSizeForSync: 1000
|
||||
editMode: READ_ONLY
|
||||
importEnabled: true
|
||||
syncRegistrations: false
|
||||
vendor: other
|
||||
usernameLDAPAttribute: uid
|
||||
rdnLDAPAttribute: uid
|
||||
uuidLDAPAttribute: entryUUID
|
||||
userObjectClasses: inetOrgPerson, organizationalPerson
|
||||
connectionUrl: ldaps://ldap.example.com:636
|
||||
usersDn: ou=Users,dc=example,dc=com
|
||||
authType: simple
|
||||
bindDn: cn=directory reader
|
||||
bindCredential: password
|
||||
searchScope: 1
|
||||
validatePasswordPolicy: false
|
||||
trustEmail: false
|
||||
useTruststoreSpi: ldapsOnly
|
||||
connectionPooling: true
|
||||
pagination: true
|
||||
allowKerberosAuthentication: false
|
||||
debug: false
|
||||
useKerberosForPasswordAuthentication: false
|
||||
priority: 0
|
||||
enabled: true
|
||||
cachePolicy: DEFAULT
|
||||
batchSizeForSync: 1000
|
||||
editMode: READ_ONLY
|
||||
importEnabled: true
|
||||
syncRegistrations: false
|
||||
vendor: other
|
||||
usernameLDAPAttribute: uid
|
||||
rdnLDAPAttribute: uid
|
||||
uuidLDAPAttribute: entryUUID
|
||||
userObjectClasses: inetOrgPerson, organizationalPerson
|
||||
connectionUrl: ldaps://ldap.example.com:636
|
||||
usersDn: ou=Users,dc=example,dc=com
|
||||
authType: simple
|
||||
bindDn: cn=directory reader
|
||||
bindCredential: password
|
||||
searchScope: 1
|
||||
validatePasswordPolicy: false
|
||||
trustEmail: false
|
||||
useTruststoreSpi: ldapsOnly
|
||||
connectionPooling: true
|
||||
pagination: true
|
||||
allowKerberosAuthentication: false
|
||||
debug: false
|
||||
useKerberosForPasswordAuthentication: false
|
||||
mappers:
|
||||
- name: "full name"
|
||||
providerId: "full-name-ldap-mapper"
|
||||
@@ -1454,7 +1509,7 @@ Examples
|
||||
|
||||
- name: Create Kerberos user federation
|
||||
middleware_automation.keycloak.keycloak_user_federation:
|
||||
auth_keycloak_url: https://keycloak.example.com/auth
|
||||
auth_keycloak_url: https://keycloak.example.com
|
||||
auth_realm: master
|
||||
auth_username: admin
|
||||
auth_password: password
|
||||
@@ -1475,7 +1530,7 @@ Examples
|
||||
|
||||
- name: Create sssd user federation
|
||||
middleware_automation.keycloak.keycloak_user_federation:
|
||||
auth_keycloak_url: https://keycloak.example.com/auth
|
||||
auth_keycloak_url: https://keycloak.example.com
|
||||
auth_realm: master
|
||||
auth_username: admin
|
||||
auth_password: password
|
||||
@@ -1485,13 +1540,13 @@ Examples
|
||||
provider_id: sssd
|
||||
provider_type: org.keycloak.storage.UserStorageProvider
|
||||
config:
|
||||
priority: 0
|
||||
enabled: true
|
||||
cachePolicy: DEFAULT
|
||||
priority: 0
|
||||
enabled: true
|
||||
cachePolicy: DEFAULT
|
||||
|
||||
- name: Delete user federation
|
||||
middleware_automation.keycloak.keycloak_user_federation:
|
||||
auth_keycloak_url: https://keycloak.example.com/auth
|
||||
auth_keycloak_url: https://keycloak.example.com
|
||||
auth_realm: master
|
||||
auth_username: admin
|
||||
auth_password: password
|
||||
|
||||
747
main/_sources/plugins/keycloak_user_rolemapping.rst.txt
Normal file
747
main/_sources/plugins/keycloak_user_rolemapping.rst.txt
Normal file
@@ -0,0 +1,747 @@
|
||||
.. Document meta
|
||||
|
||||
:orphan:
|
||||
|
||||
.. |antsibull-internal-nbsp| unicode:: 0xA0
|
||||
:trim:
|
||||
|
||||
.. meta::
|
||||
:antsibull-docs: 2.24.0
|
||||
|
||||
.. Anchors
|
||||
|
||||
.. _ansible_collections.middleware_automation.keycloak.keycloak_user_rolemapping_module:
|
||||
|
||||
.. Anchors: short name for ansible.builtin
|
||||
|
||||
.. Title
|
||||
|
||||
keycloak_user_rolemapping -- Allows administration of Keycloak user\_rolemapping with the Keycloak API
|
||||
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
|
||||
.. 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_user_rolemapping`.
|
||||
|
||||
.. 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 add, remove or modify Keycloak user\_rolemapping with the Keycloak REST API. It requires access to the REST API using OpenID Connect; the user connecting and the client being used must have the requisite access rights. In a default Keycloak installation, admin\-cli and an admin user would work, as would a separate client definition with the scope tailored to your needs and a user having the expected roles.
|
||||
- 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/latest/rest\-api/index.html <https://www.keycloak.org/docs-api/latest/rest-api/index.html>`__.
|
||||
- Attributes are multi\-valued in the Keycloak API. All attributes are lists of individual values and are returned that way by this module. You may pass single values for attributes when calling the module, and this is translated into a list suitable for the API.
|
||||
- When updating a user\_rolemapping, where possible provide the role ID to the module. This removes a lookup to the API to translate the name into the role ID.
|
||||
|
||||
|
||||
.. 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">"admin-cli"</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-cid"></div>
|
||||
<p class="ansible-option-title"><strong>cid</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-cid" 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>ID of the client whose role is to be mapped.</p>
|
||||
<p>This parameter is not required for updating or deleting the rolemapping but providing it reduces the number of API calls required.</p>
|
||||
<p>If neither <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-cid"><span class="std std-ref"><span class="pre">cid</span></span></a></strong></code> nor <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-client_id"><span class="std std-ref"><span class="pre">client_id</span></span></a></strong></code> is specified, a <b>realm</b> role is mapped instead.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-client_id"></div>
|
||||
<p class="ansible-option-title"><strong>client_id</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-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>Name of the client (different than <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-cid"><span class="std std-ref"><span class="pre">cid</span></span></a></strong></code>) whose role is to be mapped.</p>
|
||||
<p>This parameter is required if <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-cid"><span class="std std-ref"><span class="pre">cid</span></span></a></strong></code> is not provided (can be replaced by <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-cid"><span class="std std-ref"><span class="pre">cid</span></span></a></strong></code> to reduce the number of API calls that must be made).</p>
|
||||
<p>If neither <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-cid"><span class="std std-ref"><span class="pre">cid</span></span></a></strong></code> nor <code class="ansible-option literal notranslate"><strong><a class="reference internal" href="#parameter-client_id"><span class="std std-ref"><span class="pre">client_id</span></span></a></strong></code> is specified, a <b>realm</b> role is mapped instead.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<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-odd">
|
||||
<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">"Ansible"</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-realm"></div>
|
||||
<p class="ansible-option-title"><strong>realm</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-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>They Keycloak realm under which this role_representation resides.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-default-bold">Default:</strong> <code class="ansible-value literal notranslate ansible-option-default">"master"</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<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-even">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-roles"></div>
|
||||
<p class="ansible-option-title"><strong>roles</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-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=dictionary</span>
|
||||
</p>
|
||||
</div></td>
|
||||
<td><div class="ansible-option-cell">
|
||||
<p>Roles to be mapped to the user.</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-roles/id"></div>
|
||||
<p class="ansible-option-title"><strong>id</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-roles/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-indent-desc"></div><div class="ansible-option-cell">
|
||||
<p>The unique identifier for this role_representation.</p>
|
||||
<p>This parameter is not required for updating or deleting a role_representation but providing it reduces the number of API calls required.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<td><div class="ansible-option-indent"></div><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-roles/name"></div>
|
||||
<p class="ansible-option-title"><strong>name</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-roles/name" 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-cell">
|
||||
<p>Name of the role representation.</p>
|
||||
<p>This parameter is required only when creating or updating the role_representation.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-service_account_user_client_id"></div>
|
||||
<p class="ansible-option-title"><strong>service_account_user_client_id</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-service_account_user_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>Client ID of the service-account-user to be mapped.</p>
|
||||
<p>This parameter is not required for updating or deleting the rolemapping but providing it reduces the number of API calls required.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<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_rolemapping.</p>
|
||||
<p>On <code class="ansible-value literal notranslate">present</code>, the user_rolemapping 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_rolemapping 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>"present"</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">"absent"</code></p></li>
|
||||
</ul>
|
||||
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="parameter-target_username"></div>
|
||||
<p class="ansible-option-title"><strong>target_username</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-target_username" 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>Username of the user roles are mapped to.</p>
|
||||
<p>This parameter is not required (can be replaced by uid for less API call).</p>
|
||||
</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-uid"></div>
|
||||
<p class="ansible-option-title"><strong>uid</strong></p>
|
||||
<a class="ansibleOptionLink" href="#parameter-uid" 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>ID of the user to be mapped.</p>
|
||||
<p>This parameter is not required for updating or deleting the rolemapping but providing it reduces the number of API calls required.</p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<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_user_rolemapping_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_user_rolemapping_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_user_rolemapping_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
|
||||
|
||||
|
||||
.. Seealso
|
||||
|
||||
|
||||
.. Examples
|
||||
|
||||
Examples
|
||||
--------
|
||||
|
||||
.. code-block:: yaml+jinja
|
||||
|
||||
- name: Map a realm role to a user, authentication with credentials
|
||||
middleware_automation.keycloak.keycloak_user_rolemapping:
|
||||
realm: MyCustomRealm
|
||||
auth_client_id: admin-cli
|
||||
auth_keycloak_url: https://auth.example.com
|
||||
auth_realm: master
|
||||
auth_username: USERNAME
|
||||
auth_password: PASSWORD
|
||||
state: present
|
||||
uid: user_uid
|
||||
roles:
|
||||
- name: role_name1
|
||||
id: role_id1
|
||||
- name: role_name2
|
||||
id: role_id2
|
||||
delegate_to: localhost
|
||||
|
||||
- name: Map a client role to a user, authentication with credentials
|
||||
middleware_automation.keycloak.keycloak_user_rolemapping:
|
||||
realm: MyCustomRealm
|
||||
auth_client_id: admin-cli
|
||||
auth_keycloak_url: https://auth.example.com
|
||||
auth_realm: master
|
||||
auth_username: USERNAME
|
||||
auth_password: PASSWORD
|
||||
state: present
|
||||
client_id: client1
|
||||
uid: user_uid
|
||||
roles:
|
||||
- name: role_name1
|
||||
id: role_id1
|
||||
- name: role_name2
|
||||
id: role_id2
|
||||
delegate_to: localhost
|
||||
|
||||
- name: Map a client role to a service account user for a client, authentication with credentials
|
||||
middleware_automation.keycloak.keycloak_user_rolemapping:
|
||||
realm: MyCustomRealm
|
||||
auth_client_id: admin-cli
|
||||
auth_keycloak_url: https://auth.example.com
|
||||
auth_realm: master
|
||||
auth_username: USERNAME
|
||||
auth_password: PASSWORD
|
||||
state: present
|
||||
client_id: client1
|
||||
service_account_user_client_id: clientIdOfServiceAccount
|
||||
roles:
|
||||
- name: role_name1
|
||||
id: role_id1
|
||||
- name: role_name2
|
||||
id: role_id2
|
||||
delegate_to: localhost
|
||||
|
||||
- name: Map a client role to a user, authentication with token
|
||||
middleware_automation.keycloak.keycloak_user_rolemapping:
|
||||
realm: MyCustomRealm
|
||||
auth_client_id: admin-cli
|
||||
auth_keycloak_url: https://auth.example.com
|
||||
token: TOKEN
|
||||
state: present
|
||||
client_id: client1
|
||||
target_username: user1
|
||||
roles:
|
||||
- name: role_name1
|
||||
id: role_id1
|
||||
- name: role_name2
|
||||
id: role_id2
|
||||
delegate_to: localhost
|
||||
|
||||
- name: Unmap client role from a user
|
||||
middleware_automation.keycloak.keycloak_user_rolemapping:
|
||||
realm: MyCustomRealm
|
||||
auth_client_id: admin-cli
|
||||
auth_keycloak_url: https://auth.example.com
|
||||
auth_realm: master
|
||||
auth_username: USERNAME
|
||||
auth_password: PASSWORD
|
||||
state: absent
|
||||
client_id: client1
|
||||
uid: 70e3ae72-96b6-11e6-9056-9737fd4d0764
|
||||
roles:
|
||||
- name: role_name1
|
||||
id: role_id1
|
||||
- name: role_name2
|
||||
id: role_id2
|
||||
delegate_to: localhost
|
||||
|
||||
|
||||
|
||||
.. 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-end_state"></div>
|
||||
<p class="ansible-option-title"><strong>end_state</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-end_state" 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>Representation of client role mapping after module execution.</p>
|
||||
<p>The sample is truncated.</p>
|
||||
<p class="ansible-option-line"><strong class="ansible-option-returned-bold">Returned:</strong> on success</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">{"adminUrl": "http://www.example.com/admin_url", "attributes": {"request.object.signature.alg": "RS256"}}</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="return-existing"></div>
|
||||
<p class="ansible-option-title"><strong>existing</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-existing" 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>Representation of existing client role mapping.</p>
|
||||
<p>The sample is truncated.</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">{"adminUrl": "http://www.example.com/admin_url", "attributes": {"request.object.signature.alg": "RS256"}}</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-even">
|
||||
<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>Message as to what action was taken.</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">"Role role1 assigned to user user1."</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
<tr class="row-odd">
|
||||
<td><div class="ansible-option-cell">
|
||||
<div class="ansibleOptionAnchor" id="return-proposed"></div>
|
||||
<p class="ansible-option-title"><strong>proposed</strong></p>
|
||||
<a class="ansibleOptionLink" href="#return-proposed" 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>Representation of proposed client role mapping.</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">{"clientId": "test"}</code></p>
|
||||
</div></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
.. Status (Presently only deprecated)
|
||||
|
||||
|
||||
.. Authors
|
||||
|
||||
Authors
|
||||
~~~~~~~
|
||||
|
||||
- Dušan Marković (@bratwurzt)
|
||||
- Ivan Kokalović (@koke1997)
|
||||
|
||||
|
||||
.. Extra links
|
||||
|
||||
|
||||
.. Parsing errors
|
||||
1306
main/_sources/plugins/keycloak_userprofile.rst.txt
Normal file
1306
main/_sources/plugins/keycloak_userprofile.rst.txt
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user