Note
This module is part of the community.general collection (version 10.7.3).
You might already have this collection installed if you are using the ansible package. It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.
To install it, use: ansible-galaxy collection install community.general.
To use it in a playbook, specify: community.general.keycloak_role.
New in community.general 3.4.0
Parameter | Comments |
|---|---|
attributes dictionary | A dict of key/value pairs to set as custom attributes for the role. Values may be single values (for example a string) or a list of strings. |
auth_client_id string | OpenID Connect Default: |
auth_client_secret string | Client Secret to use in conjunction with |
auth_keycloak_url aliases: url string / required | URL to the Keycloak instance. |
auth_password aliases: password string | Password to authenticate for API access with. |
auth_realm string | Keycloak realm name to authenticate to for API access. |
auth_username aliases: username string | Username to authenticate for API access with. |
client_id string | If the role is a client role, the client ID under which it resides. If this parameter is absent, the role is considered a realm role. |
composite boolean added in community.general 7.1.0 | If Choices:
|
composites list / elements=dictionary added in community.general 7.1.0 | List of roles to include to the composite realm role. If the composite role is a client role, the Default: |
|
client_id aliases: clientId string |
Client ID if the role is a client role. Do not include this option for a REALM role. Use the client ID you can see in the Keycloak console, not the technical ID of the client. |
|
name string / required |
Name of the role. This can be the name of a REALM role or a client role. |
|
state string |
Create the composite if present, remove it if absent. Choices:
|
connection_timeout integer added in community.general 4.5.0 | Controls the HTTP connections timeout period (in seconds) to Keycloak API. Default: |
description string | The role description. |
http_agent string added in community.general 5.4.0 | Configures the HTTP User-Agent header. Default: |
name string / required | Name of the role. This parameter is required. |
realm string | The Keycloak realm under which this role resides. Default: |
refresh_token string added in community.general 10.3.0 | Authentication refresh token for Keycloak API. |
state string | State of the role. On On Choices:
|
token string added in community.general 3.0.0 | Authentication token for Keycloak API. |
validate_certs boolean | Verify TLS certificates (do not disable this in production). Choices:
|
Attribute | Support | Description |
|---|---|---|
action_group | Action group: community.general.keycloak added in community.general 10.2.0 | Use |
check_mode | Support: full | Can run in |
diff_mode | Support: full | Will return details on what has changed (or possibly needs changing in |
- name: Create a Keycloak realm role, authentication with credentials
community.general.keycloak_role:
name: my-new-kc-role
realm: MyCustomRealm
state: present
auth_client_id: admin-cli
auth_keycloak_url: https://auth.example.com/auth
auth_realm: master
auth_username: USERNAME
auth_password: PASSWORD
delegate_to: localhost
- name: Create a Keycloak realm role, authentication with token
community.general.keycloak_role:
name: my-new-kc-role
realm: MyCustomRealm
state: present
auth_client_id: admin-cli
auth_keycloak_url: https://auth.example.com/auth
token: TOKEN
delegate_to: localhost
- name: Create a Keycloak client role
community.general.keycloak_role:
name: my-new-kc-role
realm: MyCustomRealm
client_id: MyClient
state: present
auth_client_id: admin-cli
auth_keycloak_url: https://auth.example.com/auth
auth_realm: master
auth_username: USERNAME
auth_password: PASSWORD
delegate_to: localhost
- name: Delete a Keycloak role
community.general.keycloak_role:
name: my-role-for-deletion
state: absent
auth_client_id: admin-cli
auth_keycloak_url: https://auth.example.com/auth
auth_realm: master
auth_username: USERNAME
auth_password: PASSWORD
delegate_to: localhost
- name: Create a keycloak role with some custom attributes
community.general.keycloak_role:
auth_client_id: admin-cli
auth_keycloak_url: https://auth.example.com/auth
auth_realm: master
auth_username: USERNAME
auth_password: PASSWORD
name: my-new-role
attributes:
attrib1: value1
attrib2: value2
attrib3:
- with
- numerous
- individual
- list
- items
delegate_to: localhost
Common return values are documented here, the following are the fields unique to this module:
Key | Description |
|---|---|
end_state dictionary | Representation of role after module execution (sample is truncated). Returned: on success Sample: |
existing dictionary | Representation of existing role. Returned: always Sample: |
msg string | Message as to what action was taken. Returned: always Sample: |
proposed dictionary | Representation of proposed role. Returned: always Sample: |
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/general/keycloak_role_module.html