HEX
Server: Apache
System: Linux server2.voipitup.com.au 4.18.0-553.104.1.lve.el8.x86_64 #1 SMP Tue Feb 10 20:07:30 UTC 2026 x86_64
User: posscale (1027)
PHP: 8.2.29
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/__pycache__/data.cpython-310.pyc
o

�N�gc�@s�dZddlZddlZddlZddlZddlZe�e�Z	dd�Z
dd�Zdd�Zd	d
�Z
dd�Zdd
d�Zddd�Zdd�Zdd�Zdd�Zdd�ZdS)zb
Manage a local persistent data structure that can hold any arbitrary data
specific to the minion
�NcCs4zt�tj�tdd��WdStyYdSw)z�
    Clear out all of the data in the minion datastore, this function is
    destructive!

    CLI Example:

    .. code-block:: bash

        salt '*' data.clear
    �cachedir�	datastoreT)�os�remove�path�join�__opts__�OSError�r
r
�E/opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/data.py�clears��rc	Csvz-tj�tdd�}tjj�|d��}tj�	|�
��Wd�WS1s&wYWdSttfy:iYSw)z�
    Return all of the data in the minion datastore

    CLI Example:

    .. code-block:: bash

        salt '*' data.load
    rr�rbN)
rrrr�salt�utils�files�fopen�payload�loads�readr	�	NameError)�datastore_pathZrfhr
r
r�load"s
(��rc	Cs�t|t�stt�|�t�rt�|�}ndSz-tj�tdd�}tj	j
�|d��}tj�
||�Wd�WdS1s;wYWdSttfyNYdSw)z�
    Replace the entire datastore with a passed data structure

    CLI Example:

    .. code-block:: bash

        salt '*' data.dump '{'eggs': 'spam'}'
    Frrzw+bNT)�
isinstance�dict�astZliteral_evalrrrrrrrrr�dumpr	r)Znew_datarZfn_r
r
rr4s


���rcCst�}|||<t|�dS)z�
    Update a key with a value in the minion datastore

    CLI Example:

    .. code-block:: bash

        salt '*' data.update <key> <value>
    T�rr)�key�value�storer
r
r�updateOs
r cCs6t�}||vr	dS|||krdS|||<t|�dS)z�
    Check and set a value in the minion datastore

    CLI Example:

    .. code-block:: bash

        salt '*' data.cas <key> <value> <old_value>
    FTr)rr�	old_valuerr
r
r�cas_s
r"cCst�}|�||�}t|�|S)z�
    Pop (return & delete) a value from the minion datastore

    .. versionadded:: 2015.5.2

    CLI Example:

    .. code-block:: bash

        salt '*' data.pop <key> "there was no val"
    )r�popr)r�defaultr�valr
r
rr#usr#csJt��t|t�r��|��S�dur�fdd�|D�S��fdd�|D�S)z�
    Get a (list of) value(s) from the minion datastore

    .. versionadded:: 2015.8.0

    CLI Example:

    .. code-block:: bash

        salt '*' data.get key
        salt '*' data.get '["key1", "key2"]'
    Ncsg|]
}|�vr�|�qSr
r
��.0�k�rr
r�
<listcomp>�szget.<locals>.<listcomp>csg|]}��|���qSr
)�getr&�r$rr
rr*�s)rr�strr+)rr$r
r,rr+�s
r+cC�t�}dd�|��D�S)z�
    Get all keys from the minion datastore

    .. versionadded:: 2015.8.0

    CLI Example:

    .. code-block:: bash

        salt '*' data.keys
    cS�g|]}|�qSr
r
r&r
r
rr*��zkeys.<locals>.<listcomp>)r�keysr)r
r
rr1��r1cCr.)z�
    Get values from the minion datastore

    .. versionadded:: 2015.8.0

    CLI Example:

    .. code-block:: bash

        salt '*' data.values
    cSr/r
r
)r'�vr
r
rr*�r0zvalues.<locals>.<listcomp>)r�valuesr)r
r
rr4�r2r4cCs
t�}|S)z�
    Get items from the minion datastore

    .. versionadded:: 2015.8.0

    CLI Example:

    .. code-block:: bash

        salt '*' data.items
    �rr)r
r
r�items�sr6cCst�}||vS)z�
    Check if key is in the minion datastore

    .. versionadded:: 2015.8.0

    CLI Example:

    .. code-block:: bash

        salt '*' data.has_key <mykey>
    r5)rrr
r
r�has_key�sr7)N)�__doc__r�loggingrZsalt.payloadrZsalt.utils.files�	getLogger�__name__�logrrrr r"r#r+r1r4r6r7r
r
r
r�<module>s$