File: //opt/saltstack/salt/lib/python3.10/site-packages/salt/engines/__pycache__/stalekey.cpython-310.pyc
o
�N�g� � @ s� d Z ddlZddlZddlZddlZddlZddlZddlZddl Zddl
Ze�e�Z
dd� Zdd� Zdd� Zd d
� Zdd� Zddd�ZdS )a�
An engine that uses presence detection to keep track of which minions
have been recently connected and remove their keys if they have not been
connected for a certain period of time.
Requires that the :conf_master:`minion_data_cache` option be enabled.
.. versionadded:: 2017.7.0
:configuration:
Example configuration:
.. code-block:: yaml
engines:
- stalekey:
interval: 3600
expire: 86400
� Nc C s t �d�sdS dS )NZminion_data_cache)Fz8stalekey engine requires minion_data_cache to be enabledT)�__opts__�get� r r �I/opt/saltstack/salt/lib/python3.10/site-packages/salt/engines/stalekey.py�__virtual__% s
r c C s@ t j�t��} | �� }|d W d � S 1 sw Y dS )z
Get the keys
�minionsN)�salt�key�get_keyr Zall_keys)�keysr r r r � _get_keys+ s $�r c C sD t j�t�}| D ]}t�d|� |�dt jj� |�g� ||= q|S )z
Delete the keys
zRemoving stale key for %sz
key.delete)
r �wheel�WheelClientr �log�info�cmd�utils�stringutils�
to_unicode)�
stale_keysr r
�kr r r �_delete_keys4 s r c
C s� d}i }t j�| �rdz;tjj�| d��!}tjj�|�}|D ]}tjj �
|�}|| ||<