HEX
Server: Apache
System: Linux server2.voipitup.com.au 4.18.0-553.109.1.lve.el8.x86_64 #1 SMP Thu Mar 5 20:23:46 UTC 2026 x86_64
User: posscale (1027)
PHP: 8.2.30
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //opt/saltstack/salt/lib/python3.10/site-packages/salt/states/__pycache__/splunk.cpython-310.pyc
o

�N�g��@s$dZdd�Zd	dd�Zd	dd�ZdS)
a
Splunk User State Module

.. versionadded:: 2016.3.0

This state is used to ensure presence of users in splunk.

.. code-block:: yaml

    ensure example test user 1:
        splunk.present:
            - name: 'Example TestUser1'
            - email: example@domain.com
cCsdtvrdSdS)zA
    Only load if the splunk module is available in __salt__
    zsplunk.list_users�splunk)Fz!splunk module could not be loaded)�__salt__�rr�F/opt/saltstack/salt/lib/python3.10/site-packages/salt/states/splunk.py�__virtual__srrc
	Ks�|�d�}|iddd�}td||dd�}|sZtdr%d	|�d
�|d<|Std|fd
|i|��}|rM|d�dd�|d�dd	|�d��d|d<|Sd|d<d|��|d<|Sd	|�d�|d<tdrld|d<|Std||fi|��}t|t�r�|r�d|d<d|d<|Si}dD]-}|dkr�tt|�|g���t|�|g����|d<q�|�|�|�|�kr�|�|�||<q�|}	d|d<||dd<||dd<|	|dd<|S)a�
    Ensure a user is present

    .. code-block:: yaml

        ensure example test user 1:
            splunk.user_present:
                - realname: 'Example TestUser1'
                - name: 'exampleuser'
                - email: 'example@domain.com'
                - roles: ['user']

    The following parameters are required:

    email
        This is the email of the user in splunk
    �nameN��r�changes�result�comment�splunk.get_userT)�profileZuser_details�test�User z will be createdrzsplunk.create_userr
r	�old�new� existsr
FzFailed to create z set to be updated.zsplunk.update_userz
No changes)rZrealname�rolesZ
defaultApp�tzZcapabilitiesr�diff)	�getr�__opts__�
setdefault�
isinstance�bool�list�set�symmetric_difference)
�emailr
�kwargsr�ret�targetr
r�fieldZ	newvaluesrrr�presentsT
���
��r#cKs�|�d�}|idd|�d�d�}td||d�}|s(d|�d�|d	<d
|d<|Stdr:d|�d
�|d	<d|d<|Std||d�}|rid|��|d	<|d�dd|�d��|d�dd|�d��d
|d<|Sd|��|d	<d|d<|S)a�
    Ensure a splunk user is absent

    .. code-block:: yaml

        ensure example test user 1:
            splunk.absent:
                - email: 'example@domain.com'
                - name: 'exampleuser'

    The following parameters are required:

    email
        This is the email of the user in splunk
    name
        This is the splunk username used to identify the user.

    rNrz is absent.rr)r
z does not existrTr
rz is all set to be deletedzsplunk.delete_userz
Deleted user r	rrrz deletedzFailed to delete F)rrrr)rr
rZ
user_identityr r!r
rrr�absentls2

��r$N)r)�__doc__rr#r$rrrr�<module>s
	R