40 lines
1.3 KiB
YAML
40 lines
1.3 KiB
YAML
|
---
|
||
|
# 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.
|
||
|
# NOTE: For usage in AWX, select an appropriate host
|
||
|
|
||
|
- name: Create a User
|
||
|
hosts: all
|
||
|
become: false
|
||
|
gather_facts: false
|
||
|
|
||
|
tasks:
|
||
|
- name: "Checking for user variables"
|
||
|
assert:
|
||
|
that:
|
||
|
- ipa_admin | mandatory
|
||
|
- ipaadmin_password | mandatory
|
||
|
- ipa_name | mandatory
|
||
|
- ipa_first | mandatory
|
||
|
- ipa_last | mandatory
|
||
|
- ipa_email | mandatory
|
||
|
- ipa_password | mandatory
|
||
|
- ipa_title | mandatory
|
||
|
success_msg: "Required variables provided"
|
||
|
fail_msg: "We are missing user information or ipa admin password"
|
||
|
|
||
|
- name: "Creating User Account"
|
||
|
freeipa.ansible_freeipa.ipauser:
|
||
|
ipaadmin_principal: "{{ ipa_admin }}"
|
||
|
ipaadmin_password: "{{ ipaadmin_password }}"
|
||
|
name: "{{ ipa_name }}"
|
||
|
first: "{{ ipa_first }}"
|
||
|
last: "{{ ipa_last }}"
|
||
|
email: "{{ ipa_email }}"
|
||
|
password: "{{ ipa_password }}"
|
||
|
title: "{{ ipa_title }}"
|
||
|
loginshell: "{{ ipa_loginshell|default('/sbin/nologin', True) }}"
|
||
|
update_password: on_create
|
||
|
tags:
|
||
|
- users
|