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__/beacon.cpython-310.pyc
o

�N�g��@s>dZddlZe�e�Zddd�Zddd�Zdd	�Zd
d�ZdS)
a�
Management of the Salt beacons
==============================

.. versionadded:: 2015.8.0

.. code-block:: yaml

    ps:
      beacon.present:
        - save: True
        - enable: False
        - services:
            salt-master: running
            apache2: stopped

    sh:
      beacon.present: []

    load:
      beacon.present:
        - averages:
            1m:
              - 0.0
              - 2.0
            5m:
              - 0.0
              - 1.5
            15m:
              - 0.1
              - 1.0

    .. versionadded:: 3000

    Beginning in the 3000 release, multiple copies of a beacon can be configured
    using the ``beacon_module`` parameter.

    inotify_infs:
      beacon.present:
        - save: True
        - enable: True
        - files:
           /etc/infs.conf:
             mask:
               - create
               - delete
               - modify
             recurse: True
             auto_add: True
        - interval: 10
        - beacon_module: inotify
        - disable_during_state_run: True

    inotify_ntp:
      beacon.present:
        - save: True
        - enable: True
        - files:
           /etc/ntp.conf:
             mask:
               - create
               - delete
               - modify
             recurse: True
             auto_add: True
        - interval: 10
        - beacon_module: inotify
        - disable_during_state_run: True
�NFcKs|digd�}tddddi|��}dd�|��D�}||vr�|||kr1|d�d	|�d
��n�t�d�rUd|d<td||fi|��}|d�|d�|d
|d
<n�td||fi|��}|dsr|d|d<|d|d<|Sd
|vr�|d�d|�d��|d
|d
<nP|d�|d�nFt�d�r�d|d<td||fi|��}|d�|d�n(td||fi|��}|ds�|d|d<|d|d<|S|d�d|�d��|r�t�d�r�|d�d|�d��ntd�|d�d|�d��d�|d�|d<|S)a�
    Ensure beacon is configured with the included beacon data.

    name
        The name of the beacon to ensure is configured.
    save
        True/False, if True the beacons.conf file be updated too. Default is False.

    Example:

    .. code-block:: yaml

        ps_beacon:
          beacon.present:
            - name: ps
            - save: True
            - enable: False
            - services:
                salt-master: running
                apache2: stopped
    T��name�result�changes�comment�beacons.list�return_yamlFcSsg|]\}}||i�qS�r	)�.0�k�vr	r	�F/opt/saltstack/salt/lib/python3.10/site-packages/salt/states/beacon.py�
<listcomp>fszpresent.<locals>.<listcomp>r�Job z in correct state�testzbeacons.modifyrrz
Modifying z in beaconszbeacons.addzAdding z to beacons�Beacon � would be saved�beacons.save� saved�
Nr	)�__salt__�items�append�__opts__�get�join)r�save�kwargs�ret�current_beaconsZbeacon_datarr	r	r
�presentLsJ



r cKs&|digd�}tddddi|��}||vr[t�d�r3d|d<td|fi|��}|d�|d�n2td|fi|��}|d	sO|d	|d	<|d|d<|S|d�d
|�d��n
|d�|�d��|r�t�d�rx|d�d
|�d��ntd�|d�d
|�d��d�|d�|d<|S)aJ
    Ensure beacon is absent.

    name
        The name of the beacon that is ensured absent.
    save
        True/False, if True the beacons.conf file be updated too. Default is False.

    Example:

    .. code-block:: yaml

        remove_beacon:
          beacon.absent:
            - name: ps
            - save: True

    TrrrFrzbeacons.deleterrzRemoved �
 from beaconsz not configured in beaconsrrrrrNr	�rrrrr)rrrrrrr	r	r
�absent�s*


r#cKs�|digd�}tddddi|��}||vr[t�d�r3d|d<td|fi|��}|d�|d�n2td|fi|��}|d	sO|d	|d	<|d|d<|S|d�d
|�d��n
|d�|�d��d
�|d�|d<|S)z�
    Enable a beacon.

    name
        The name of the beacon to enable.

    Example:

    .. code-block:: yaml

        enable_beacon:
          beacon.enabled:
            - name: ps

    TrrrFrzbeacons.enable_beaconrrzEnabled r!z not a configured beaconrNr	r"�rrrrrr	r	r
�enabled�s 
r%cKs�|digd�}tddddi|��}||vr[t�d�r3d|d<td|fi|��}|d�|d�n3td|fi|��}|d	sO|d	|d	<|d|d<|S|d�d
|�d��n|d�d|�d
��d�|d�|d<|S)z�
    Disable a beacon.

    name
        The name of the beacon to disable.

    Example:

    .. code-block:: yaml

        disable_beacon:
          beacon.disabled:
            - name: psp

    TrrrFrzbeacons.disable_beaconrrzDisabled beacon �.rz is not configured.rNr	r"r$r	r	r
�disabled�s 
r')F)	�__doc__�logging�	getLogger�__name__�logr r#r%r'r	r	r	r
�<module>sF


L2(