ansible-ipa-management/adhoc-ipagroup.yml

53 lines
1.7 KiB
YAML
Raw Normal View History

2021-02-01 08:08:26 +00:00
---
# This playbook is meant to be used with callable variables, like adhoc or AWX.
# What: Creates groups in the idm infrastructure based on the variables provided
# You MUST provide an ipa_admin user to run this.
# If group is going to be a fas group (exposed in noggin), ensure ipa_fas is
# set to true.
- name: Create a group
2023-08-23 06:55:38 +00:00
hosts: "{{ host|default('ipaserver') }}"
2021-02-01 08:08:26 +00:00
become: false
gather_facts: false
2022-02-12 21:43:09 +00:00
vars_files:
2023-08-23 06:55:38 +00:00
- vars/vaults/userman.yml
collections:
- freeipa.ansible_freeipa
2021-02-01 08:08:26 +00:00
tasks:
- name: "Checking for user variables"
2022-03-28 01:54:24 +00:00
ansible.builtin.assert:
2021-02-01 08:08:26 +00:00
that:
- ipa_admin | mandatory
- ipaadmin_password | mandatory
- ipa_group | mandatory
- ipa_description | mandatory
- ipa_nonposix | mandatory
success_msg: "Required variables provided"
fail_msg: "We are missing group information or ipa admin password"
- name: "Creating New Group"
freeipa.ansible_freeipa.ipagroup:
ipaadmin_principal: "{{ ipa_admin }}"
ipaadmin_password: "{{ ipaadmin_password }}"
name: "{{ ipa_group }}"
description: "{{ ipa_description }}"
nonposix: "{{ ipa_nonposix }}"
membermanager_user: "{{ ipa_group_manager_user | default(omit) }}"
membermanager_group: "{{ ipa_group_manager_group | default(omit) }}"
tags:
- groups
- name: "Prepare FAS if required"
2023-04-18 05:08:42 +00:00
ansible.builtin.shell: "set -o pipefail && echo \"{{ ipaadmin_password }}\" | kinit {{ ipa_admin }}"
2021-02-01 08:08:26 +00:00
check_mode: false
changed_when: "1 != 1"
when: ipa_fas
- name: "Apply FAS"
2023-04-18 05:08:42 +00:00
ansible.builtin.command: "ipa group-mod --fasgroup {{ ipa_group }}"
2021-02-01 08:08:26 +00:00
check_mode: false
changed_when: "1 != 1"
when: ipa_fas
2022-02-12 21:43:09 +00:00
...