diff --git a/pillar.example b/pillar.example index 31902dc..04edcde 100644 --- a/pillar.example +++ b/pillar.example @@ -176,3 +176,17 @@ users: absent_users: - donald - bad_guy + +groups: + badguys: + absent: True + niceguys: + gid: 4242 + system: False + addusers: root + delusers: toor + ssl-cert: + system: True + members: + - www-data + - openldap diff --git a/users/init.sls b/users/init.sls index 696ccbd..068d3f6 100644 --- a/users/init.sls +++ b/users/init.sls @@ -5,13 +5,20 @@ {% set used_user_files = [] %} {% for group, setting in salt['pillar.get']('groups', {}).items() %} -users_group_{{ setting.get('state', "present") }}_{{ group }}: - group.{{ setting.get('state', "present") }}: +{% if setting.absent is defined and setting.absent or setting.get('state', "present") == 'absent' %} +users_group_absent_{{ group }}: + group.absent: - name: {{ group }} - {%- if setting.get('gid') %} - - gid: {{setting.get('gid') }} - {%- endif %} +{% else %} +users_group_present_{{ group }}: + group.present: + - name: {{ group }} + - gid: {{ setting.get('gid', "null") }} - system: {{ setting.get('system',"False") }} + - members: {{ setting.get('members')|json }} + - addusers: {{ setting.get('addusers')|json }} + - delusers: {{ setting.get('delusers')|json }} +{% endif %} {% endfor %} {%- for name, user in pillar.get('users', {}).items()