File: //opt/saltstack/salt/lib/python3.10/site-packages/salt/__pycache__/state.cpython-310.pyc
o
�N�g�@ � @ s� d Z ddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddl
Z
ddlZddlZddl
Z
ddlZddlZddlZddlZddlZddlmZ ddlZddlZddlZddlZddlZddlZddlZddlZddlm m Z ddl!Zddl"Zddl#Zddl$Zddl%Zddl&m m'Z' ddl(m)Z)m*Z*m+Z+ ddl,m-Z. ddl,m/Z0 ddl1m2Z2m3Z3 ddl4m5Z5m6Z6 e�7e8�Z9e:g d��Z;e:g d ��Z<e:g d
��Z=e;�>e<��>e=�Z?dd� Z@d
d� ZAdd� ZBdd� ZCdd� ZDdd� ZEdd� ZFdd� ZGd:dd�ZHdd� ZId d!� ZJd"d#� ZKd$d%� ZLd&d'� ZMG d(d)� d)eN�ZOG d*d+� d+�ZPG d,d-� d-�ZQG d.d/� d/�ZRG d0d1� d1�ZSG d2d3� d3eS�ZTG d4d5� d5eQ�ZUG d6d7� d7eT�ZVG d8d9� d9�ZWdS );a�
The State Compiler is used to execute states in Salt. A state is unlike
an execution module in that instead of just executing a command, it
ensures that a certain state is present on the system.
The data sent to the state calls is as follows:
{ 'state': '<state module name>',
'fun': '<state function name>',
'name': '<the name argument passed to all states>'
'argn': '<arbitrary argument, can have many of these>'
}
� N)�CommandExecutionError�SaltRenderError�SaltReqTimeoutError)�deserialize)� serialize)�compile_template�compile_template_str)�DefaultOrderedDict�HashableOrderedDict)
� onchanges�
onchanges_any�onfail�
onfail_any�
onfail_all�onfail_stop�prereq�prerequired�watch� watch_any�require�require_any�listen)�onchanges_in� onfail_in� prereq_in�watch_in�
require_in� listen_in)'�fun�state� check_cmd�cmd_opts_exclude�failhard�onlyif�unless�creates�retry�order�parallelr r r �reload_modules�
reload_grains�
reload_pillar�runas�runas_password�
fire_event�saltenv�umask�use�use_in�__env__�__sls__�__id__�__orchestration_jid__Z
__pub_userZ __pub_argZ __pub_jidZ __pub_funZ __pub_tgtZ __pub_retZ __pub_pidZ__pub_tgt_type�
__prereq__�__prerequired__� __umask__c C s | � d�\}}}}||||d�S )zN
Take a low tag and split it back into the low dict that it came from
z_|-)r r5 �namer )�split)�tagr �id_r: r � r>