community.general.keycloak_user module – Create and configure a user in Keycloak
Note
This module is part of the community.general collection (version 10.7.5).
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_user.
New in community.general 7.1.0
Synopsis
- This module creates, removes, or updates Keycloak users. 
Parameters
| Parameter | Comments | 
|---|---|
| List user access. | |
| List of user attributes. | |
| Name of the attribute. | |
| Control whether the attribute must exists or not. Choices: 
 | |
| Values for the attribute as list. | |
| OpenID Connect  Default:  | |
| Client Secret to use in conjunction with  | |
| URL to the Keycloak instance. | |
| Password to authenticate for API access with. | |
| Keycloak realm name to authenticate to for API access. | |
| Username to authenticate for API access with. | |
| Client Authenticator Type. Default:  | |
| Client ID of the client role. Not the technical ID of the client. | |
| List of client roles to assign to the user. | |
| Controls the HTTP connections timeout period (in seconds) to Keycloak API. Default:  | |
| User credentials. Default:  | |
| If  Choices: 
 | |
| Credential type. | |
| Value of the credential. | |
| List user Credential Type. Default:  | |
| User email. | |
| Check the validity of user email. Choices: 
 | |
| Enabled user. Choices: 
 | |
| List of IDPs of user. Default:  | |
| Federation Link. | |
| The user’s first name. | |
| If  Choices: 
 | |
| List of groups for the user. Groups can be referenced by their name, like  Default:  | |
| Name of the group. | |
| Control whether the user must be member of this group or not. Choices: 
 | |
| Configures the HTTP User-Agent header. Default:  | |
| ID of the user on the Keycloak server if known. | |
| The user’s last name. | |
| User origin. | |
| The name of the realm in which is the client. Default:  | |
| Authentication refresh token for Keycloak API. | |
| RequiredActions user Auth. Default:  | |
| User self administration. | |
| Description of the client Application. | |
| Control whether the user should exists or not. Choices: 
 | |
| Authentication token for Keycloak API. | |
| Username for the user. | |
| Verify TLS certificates (do not disable this in production). Choices: 
 | 
Attributes
| Attribute | Support | Description | 
|---|---|---|
| Action group: community.general.keycloak added in community.general 10.2.0 | Use  | |
| Support: full | Can run in  | |
| Support: full | Will return details on what has changed (or possibly needs changing in  | 
Notes
Note
- The module does not modify the user ID of an existing user. 
Examples
- name: Create a user user1
  community.general.keycloak_user:
    auth_keycloak_url: http://localhost:8080/auth
    auth_username: admin
    auth_password: password
    realm: master
    username: user1
    firstName: user1
    lastName: user1
    email: user1
    enabled: true
    emailVerified: false
    credentials:
      - type: password
        value: password
        temporary: false
    attributes:
      - name: attr1
        values:
          - value1
        state: present
      - name: attr2
        values:
          - value2
        state: absent
    groups:
      - name: group1
        state: present
    state: present
- name: Re-create a User
  community.general.keycloak_user:
    auth_keycloak_url: http://localhost:8080/auth
    auth_username: admin
    auth_password: password
    realm: master
    username: user1
    firstName: user1
    lastName: user1
    email: user1
    enabled: true
    emailVerified: false
    credentials:
      - type: password
        value: password
        temporary: false
    attributes:
      - name: attr1
        values:
          - value1
        state: present
      - name: attr2
        values:
          - value2
        state: absent
    groups:
      - name: group1
        state: present
    state: present
- name: Re-create a User
  community.general.keycloak_user:
    auth_keycloak_url: http://localhost:8080/auth
    auth_username: admin
    auth_password: password
    realm: master
    username: user1
    firstName: user1
    lastName: user1
    email: user1
    enabled: true
    emailVerified: false
    credentials:
      - type: password
        value: password
        temporary: false
    attributes:
      - name: attr1
        values:
          - value1
        state: present
      - name: attr2
        values:
          - value2
        state: absent
    groups:
      - name: group1
        state: present
    state: present
    force: true
- name: Remove User
  community.general.keycloak_user:
    auth_keycloak_url: http://localhost:8080/auth
    auth_username: admin
    auth_password: password
    realm: master
    username: user1
    state: absent
Return Values
Common return values are documented here, the following are the fields unique to this module:
| Key | Description | 
|---|---|
| Representation of the user after module execution. Returned: on success | |
| Representation of the existing user. Returned: on success | |
| Representation of the proposed user. Returned: on success | 
