---
# This playbook is meant to be used with callable variables, like adhoc or AWX.
# What: Creates users in the idm infrastructure based on the variables provided.

- name: Create a User
  hosts: "{{ ipaserver|default('all') }}"
  become: false
  gather_facts: false

  tasks:
    - name: "Checking for user variables"
      ansible.builtin.assert:
        that:
          - ipa_admin | mandatory
          - ipaadmin_password | mandatory
          - ipa_name | mandatory
        success_msg: "Required variables provided"
        fail_msg: "We are missing user information or ipa admin password"

    - name: "Disabling User Account"
      freeipa.ansible_freeipa.ipauser:
        ipaadmin_principal: "{{ ipa_admin }}"
        ipaadmin_password: "{{ ipaadmin_password }}"
        name: "{{ ipa_name }}"
        state: disabled
      tags:
        - users
...