mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
04162da6c9
Inspq keycloak user module (#6476)
* Add Keycloak User Module
* keycloak_user refactoring
* Add changelog fragment for breaking changes
* Fix Copyright for keycloak_user module
* Add keycloak_user module to BOTMETA
* Remove ANSIBLE_METADATA and override aliases for auth_username argument spec
* Update plugins/modules/keycloak_user.py
Updated short description
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/keycloak_user.py
Fix keycloak_user module description
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/keycloak_user.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/keycloak_user.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/keycloak_user.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/keycloak_user.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Dedent and use FQCN's for examples in keycloak_user module
* Fix examples in keycloak_user module documentation
* keycloak_user refactoring
* Add changelog fragment for breaking changes
* Remove ANSIBLE_METADATA and override aliases for auth_username argument spec
* Fix merge error on keycloak_user module changelogs fragment
* Add integration test for keycloak_user module
* Fix yamllint errors in keycloak_user integration tests
* Add README.md and fix integration tests for keycloak_user module
* Add Copyright and license in README.md integration tests keycloak_user module
* Update changelogs/fragments/6476-new-keycloak-user.module.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Fix argument_spec auth_username aliases for keycloak_user module
* Update plugins/modules/keycloak_user.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/keycloak_user.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/keycloak_user.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/keycloak_user.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Add units tests for keycloak_user module
* Update plugins/modules/keycloak_user.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/keycloak_user.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/keycloak_user.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Remove default value for keycloak_user enabled module parameter
* Update plugins/modules/keycloak_user.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/keycloak_user.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/keycloak_user.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/keycloak_user.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/keycloak_user.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/keycloak_user.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/keycloak_user.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/keycloak_user.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/keycloak_user.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/keycloak_user.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/keycloak_user.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/keycloak_user.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/keycloak_user.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* keycloak_user refactoring
* Remove ANSIBLE_METADATA and override aliases for auth_username argument spec
* Update plugins/modules/keycloak_user.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Dedent and use FQCN's for examples in keycloak_user module
* Fix examples in keycloak_user module documentation
* keycloak_user refactoring
* Add changelog fragment for breaking changes
* Remove ANSIBLE_METADATA and override aliases for auth_username argument spec
* Fix merge error on keycloak_user module changelogs fragment
* Update changelogs/fragments/6476-new-keycloak-user.module.yml
Co-authored-by: Felix Fontein <felix@fontein.de>
* Fix argument_spec auth_username aliases for keycloak_user module
* Update plugins/modules/keycloak_user.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Remove github Workflow
* Remove bugfix from changelog fragment
* Fix indentation in examples for keycloak_user module
* Fix examples in documentation for keycloak_user module
* Remove PR 6476 changelog fragment
* Update plugins/modules/keycloak_user.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/keycloak_user.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/keycloak_user.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/keycloak_user.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/keycloak_user.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/keycloak_user.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Update plugins/modules/keycloak_user.py
Co-authored-by: Felix Fontein <felix@fontein.de>
* Restore ansible-test.yml
* Add msg output and RETURN documentation for keycloak_user module
* Fix RETURN documentation for keycloak_user module
* Fix msg for keycloak_user module
---------
Co-authored-by: Felix Fontein <felix@fontein.de>
(cherry picked from commit 07a5f07eaa
)
Co-authored-by: Philippe Gauthier <philippe.gauthier@inspq.qc.ca>
114 lines
3.2 KiB
YAML
114 lines
3.2 KiB
YAML
# Copyright (c) 2022, Dušan Marković (@bratwurzt)
|
|
# GNU General Public License v3.0+ (see COPYING or https://www.gnu.org/licenses/gpl-3.0.txt)
|
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
- name: Create realm
|
|
community.general.keycloak_realm:
|
|
auth_keycloak_url: "{{ url }}"
|
|
auth_realm: "{{ admin_realm }}"
|
|
auth_username: "{{ admin_user }}"
|
|
auth_password: "{{ admin_password }}"
|
|
id: "{{ realm }}"
|
|
realm: "{{ realm }}"
|
|
state: present
|
|
|
|
- name: Create new realm role
|
|
community.general.keycloak_role:
|
|
auth_keycloak_url: "{{ url }}"
|
|
auth_realm: "{{ admin_realm }}"
|
|
auth_username: "{{ admin_user }}"
|
|
auth_password: "{{ admin_password }}"
|
|
realm: "{{ realm }}"
|
|
name: "{{ role }}"
|
|
description: "{{ description_1 }}"
|
|
state: present
|
|
|
|
- name: Create client
|
|
community.general.keycloak_client:
|
|
auth_keycloak_url: "{{ url }}"
|
|
auth_realm: "{{ admin_realm }}"
|
|
auth_username: "{{ admin_user }}"
|
|
auth_password: "{{ admin_password }}"
|
|
realm: "{{ realm }}"
|
|
client_id: "{{ client_id }}"
|
|
service_accounts_enabled: true
|
|
state: present
|
|
register: client
|
|
|
|
|
|
- name: Create new client role
|
|
community.general.keycloak_role:
|
|
auth_keycloak_url: "{{ url }}"
|
|
auth_realm: "{{ admin_realm }}"
|
|
auth_username: "{{ admin_user }}"
|
|
auth_password: "{{ admin_password }}"
|
|
realm: "{{ realm }}"
|
|
client_id: "{{ client_id }}"
|
|
name: "{{ keycloak_client_role }}"
|
|
description: "{{ description_1 }}"
|
|
state: present
|
|
|
|
- name: Create new groups
|
|
community.general.keycloak_group:
|
|
auth_keycloak_url: "{{ url }}"
|
|
auth_realm: "{{ admin_realm }}"
|
|
auth_username: "{{ admin_user }}"
|
|
auth_password: "{{ admin_password }}"
|
|
realm: "{{ realm }}"
|
|
name: "{{ item.name }}"
|
|
state: present
|
|
with_items: "{{ keycloak_user_groups }}"
|
|
|
|
- name: Create user
|
|
community.general.keycloak_user:
|
|
auth_keycloak_url: "{{ url }}"
|
|
auth_username: "{{ admin_user }}"
|
|
auth_password: "{{ admin_password }}"
|
|
auth_realm: "{{ admin_realm }}"
|
|
username: "{{ keycloak_username }}"
|
|
realm: "{{ realm }}"
|
|
first_name: Ceciestes
|
|
last_name: Untestes
|
|
email: ceciestuntestes@test.com
|
|
groups: "{{ keycloak_user_groups }}"
|
|
attributes: "{{ keycloak_user_attributes }}"
|
|
state: present
|
|
register: create_result
|
|
|
|
- name: debug
|
|
debug:
|
|
var: create_result
|
|
|
|
- name: Assert user is created
|
|
assert:
|
|
that:
|
|
- create_result.changed
|
|
- create_result.end_state.username == 'test'
|
|
- create_result.end_state.attributes | length == 3
|
|
- create_result.end_state.groups | length == 2
|
|
|
|
- name: Delete User
|
|
community.general.keycloak_user:
|
|
auth_keycloak_url: "{{ url }}"
|
|
auth_username: "{{ admin_user }}"
|
|
auth_password: "{{ admin_password }}"
|
|
auth_realm: "{{ admin_realm }}"
|
|
username: "{{ keycloak_username }}"
|
|
realm: "{{ realm }}"
|
|
first_name: Ceciestes
|
|
last_name: Untestes
|
|
email: ceciestuntestes@test.com
|
|
groups: "{{ keycloak_user_groups }}"
|
|
attributes: "{{ keycloak_user_attributes }}"
|
|
state: absent
|
|
register: delete_result
|
|
|
|
- name: debug
|
|
debug:
|
|
var: delete_result
|
|
|
|
- name: Assert user is deleted
|
|
assert:
|
|
that:
|
|
- delete_result.changed
|
|
- delete_result.end_state | length == 0
|