File: //opt/saltstack/salt/lib/python3.10/site-packages/salt/beacons/__pycache__/load.cpython-310.pyc
o
�N�gZ � @ sR d Z ddlZddlZddlZddlZe�e�ZdZ i Z
dd� Zdd� Zdd � Z
dS )
z%
Beacon to emit system load averages
� N�loadc C s* t jj�� rd} t�dt| � d| fS tS )Nz"Not available for Windows systems.zUnable to load %s beacon: %sF)�salt�utils�platformZ
is_windows�log�error�__virtualname__)�err_msg� r
�E/opt/saltstack/salt/lib/python3.10/site-packages/salt/beacons/load.py�__virtual__ s
r c C s� t | t�sdS tjj�| �} d| v rt | d t�sdS d| v r(t | d t�s(dS d| vr.dS tdd � | �di �D ��s=d
S dD ]}t | d | t�sM dS t | d | �d
krZ dS q?dS )z+
Validate the beacon configuration
)Fz-Configuration for load beacon must be a list.�
emitatstartup)FzEConfiguration for load beacon option emitatstartup must be a boolean.�onchangeonly)FzDConfiguration for load beacon option onchangeonly must be a boolean.�averages)Fz3Averages configuration is required for load beacon.c s s � | ]}|d v V qdS )�Z1mZ5mZ15mNr
)�.0�jr
r
r � <genexpr>: s � zvalidate.<locals>.<genexpr>)FzHAverages configuration for load beacon must contain 1m, 5m or 15m items.r )FzYAverages configuration for load beacon: 1m, 5m and 15m items must be a list of two items.� )FzPConfiguration for load beacon: 1m, 5m and 15m items must be a list of two items.)TzValid beacon configuration)
�
isinstance�listr r �beacons�list_to_dict�bool�any�get�len)�config�itemr
r
r �validate s(
�r c C sd t �d� tjj�| �} d| vrd| d<