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/proxy/__pycache__/dummy.cpython-310.pyc
o

�N�g�@s(dZddlZddlZddlZddlZddlmZddlZddl	Zddl
mZmZdgZ
e�e�Zdd�Zdd	�Zd
d�Zedd
��Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Z d&d'�Z!d(d)�Z"d*d+�Z#d,d-�Z$d.d/�Z%d0d1�Z&d2d3�Z'd4d5�Z(dS)6zS
This is the a dummy proxy-minion designed for testing the proxy minion subsystem.
�N)�contextmanager)�CommandExecutionError�MinionErrorZdummycC�t�d�dS)z6
    Only return if all the modules are available
    z#dummy proxy __virtual__() called...T��log�debug�r	r	�D/opt/saltstack/salt/lib/python3.10/site-packages/salt/proxy/dummy.py�__virtual__�
rcCs�tdd}tj�|dd|�d��}tjj�|d��}|�tjj	j
|dd��Wd�n1s2wYt�d	|t
�|��dS)
N�dummy_proxy�id�cachedir�dummy-proxy-�.cache�wbT)Zuse_bin_typezDummy Proxy Saved State(%s):
%s)�__context__�os�path�join�salt�utils�files�fopen�write�msgpackZpackbr�warning�pprint�pformat)�opts�details�_id�	cachefile�pckr	r	r
�_save_states�r%c
Cs�tdd}tj�|dd|�d��}z%tjj�|d��}tjjj	|�
�dd�}Wd�n1s2wYWn2tyIt�}t
||�Yn"tyj}ztjd	|d
d�t�}t
||�WYd}~nd}~wwt�d|t�|��|S)
Nr
rrrr�rbF)�rawzFailed to load state: %sT)�exc_infoz Dummy Proxy Loaded State(%s):
%s)rrrrrrrrrZunpackb�read�FileNotFoundError�_initial_stater%�	Exceptionr�	exceptionrrr)r r"r#r$�state�excr	r	r
�_load_state's$����r0c	csN�t|�}t�|�}z|VW||krt||�dSdS||kr&t||�ww)N)r0�copy�deepcopyr%)r r.Zoriginalr	r	r
�
_loaded_state8s�
��r3cCsdddd�ddddd�d	�S)
N�running�stopped)�apacheZntpZsamba�1.0z2.4z1.4z999.99)Z	coreutilsr6ZtincZredbull)�services�packagesr	r	r	r	r
r+Cs
��r+cCs�|d�d�rtdd��|d�d�rtdd��d|ditd<t�d	�t|��
}d
|d<Wd�dS1s9wYdS)
zH
    Required.
    Can be used to initialize the server connection.
    �proxyZraise_minion_errorzRaising A MinionError.)�messageZraise_commandexec_errorz Raising A CommandExecutionError.rr
zdummy proxy init() called...T�initializedN)�getrrrrrr3�r r.r	r	r
�initTs




"�r?cCs8tt��}|�dd�Wd�S1swYdS)z�
    Since grains are loaded in many different places and some of those
    places occur before the proxy can be initialized, return whether
    our init() function has been called
    r<FN)r3�__opts__r=�r.r	r	r
r<es

$�r<cCsDtt��}dddd�|d<|dWd�S1swYdS)z
    Make up some grains
    ZoneZtwoZthree)Z
dummy_grain_1Z
dummy_grain_2Z
dummy_grain_3�grains_cacheN�r3r@rAr	r	r
�grainsos

�$�rDcCsVtt��}d|vr|�d�Wd�t�SWd�t�S1s#wYt�S)z
    Refresh the grains
    rBN)r3r@�poprDrAr	r	r
�grains_refresh}s

��
��rFcCsddiS)z)
    Method called by grains module.
    r!zbThis key is here because a function in grains/rest_sample.py called fns() here in the proxymodule.r	r	r	r	r
�fns�s�rGcC�:tt��}d|d|<Wd�dS1swYdS)z/
    Start a "service" on the dummy server
    r4r8NrC��namer.r	r	r
�
service_start��

��rKcCrH)z.
    Stop a "service" on the dummy server
    r5r8NrCrIr	r	r
�service_stop�rLrMcCsdS)z0
    Restart a "service" on the REST server
    Tr	)rJr	r	r
�service_restart�srNcCs8tt��}t|d�Wd�S1swYdS)z,
    List "services" on the REST server
    r8N)r3r@�listrAr	r	r
�service_list�s

$�rPcCsZtt��}|d|dkrddiWd�SddiWd�S1s&wYdS)z:
    Check if a service is running on the REST server
    r8r4ZcommentNr5rCrIr	r	r
�service_status�s
�$�rQcC�4tt��}|dWd�S1swYdS)z6
    List "packages" installed on the REST server
    r9NrCrAr	r	r
�package_list��
$�rScKs\|�dd�r|d}nd}tt��}||d|<Wd�||iS1s%wY||iS)z0
    Install a "package" on the REST server
    �versionFr7r9N)r=r3r@)rJ�kwargsrUr.r	r	r
�package_install�s


��rWcCsjtt��'}|dD]}t|d|�}|d}t|�|d|<q	|dWd�S1s.wYdS)z
    "Upgrade" packages
    r9g�?N)r3r@�float�str)r.�pZ
version_floatr	r	r
�upgrade�s
$�r[cCrR)zW
    Call the REST endpoint to see if the packages on the "server" are up to date.
    r9NrCrAr	r	r
�uptodate�rTr\cCsNdtdd<tt��}|d�|�|dWd�S1s wYdS)z/
    Remove a "package" on the REST server
    Zbarr
Zfoor9N)rr3r@rErIr	r	r
�package_remove�s

$�r]cCsXtt��}||dvr||d|iWd�SWd�dS1s%wYdS)zG
    Check the installation status of a package on the REST server
    r9NrCrIr	r	r
�package_status�s
�"�r^cCr)z
    Degenerate ping
    zdummy proxy returning pingTrr	r	r	r
�ping�rr_cCs^t�d�tt��}d|vrt�|d�Wd�dSWd�dS1s(wYdS)z,
    For this proxy shutdown is a no-op
    z dummy proxy shutdown() called...�filenameN)rrr3r@r�unlinkr>r	r	r
�shutdowns

�"�rbcCr)zN
    Test function so we have something to call from a state
    :return:
    ztest_from_state calledZ	testvaluerr	r	r	r
�test_from_state
s
rc))�__doc__r1�loggingrr�
contextlibrZsalt.utils.filesrZsalt.utils.msgpackZsalt.exceptionsrrZ__proxyenabled__�	getLogger�__file__rrr%r0r3r+r?r<rDrFrGrKrMrNrPrQrSrWr[r\r]r^r_rbrcr	r	r	r
�<module>sH