File: //opt/saltstack/salt/lib/python3.10/site-packages/salt/states/__pycache__/user.cpython-310.pyc
o
�N�g� � @ s d Z ddlZddlZddlZddlZddlZddlZddlZddl m
Z
e�e�Z
ddd�Z
ddd�Z dd
d�Zddd�ZdS )a�
Management of user accounts.
============================
The user module is used to create and manage user settings, users can be set
as either absent or present
.. code-block:: yaml
fred:
user.present:
- fullname: Fred Jones
- shell: /bin/zsh
- home: /home/fred
- uid: 4000
- gid: 4000
- groups:
- wheel
- storage
- games
testuser:
user.absent
� N)�CommandExecutionErrorFc C s� t | �} t |�}| |ks|s|�| �rdS dd� | �|�D �}|r'|�| �}n|�| �}t|�}|D ]}|�� D ]\}}||krAq8|| d |d krP|�|� q8q2t|�S )z4
Determine if the groups need to be changed
Fc S s i | ] }|t d |��qS �z
group.info��__salt__)�.0�name� r �D/opt/saltstack/salt/lib/python3.10/site-packages/salt/states/user.py�
<dictcomp>1 s z"_group_changes.<locals>.<dictcomp>�gid) �set�issubset�union�symmetric_difference�
difference�list�items�remove�bool) ZcurZwantedr Zall_grps�diffZremainZdiff_grp�grp�infor r r �_group_changes'