%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /lib/python3.9/site-packages/ansible/playbook/__pycache__/
Upload File :
Create Path :
Current File : //lib/python3.9/site-packages/ansible/playbook/__pycache__/role_include.cpython-39.opt-1.pyc

a

�)g��@s�ddlmZmZmZeZddlmZddlm	Z
ddlmZddl
mZddlmZddlmZddlmZdd	lmZdd
lmZddlmZddlmZd
gZe�ZGdd
�d
e�ZdS)�)�absolute_import�division�print_function)�basenameN)�AnsibleParserError)�NonInheritableFieldAttribute)�Block)�TaskInclude)�Role)�RoleInclude)�Display)�string_types)�Templar�IncludeRolecs�eZdZdZed�Zed�Zed�ZeeBeBZe	ddddd�Z
e	ddddd�Ze	ddddd�Zd�fd
d�	Z
dd
�Zddd�Zeddd��Zd�fdd�	Z�fdd�Z�ZS)rz�
    A Role include is derived from a regular role to handle the special
    circumstances related to the `- include_role: ...`
    )�name�role)Z
tasks_fromZ	vars_fromZ
defaults_fromZ
handlers_from)�apply�public�allow_duplicates�rolespec_validate�boolT)Zisa�defaultZprivateZalways_post_validateFNcs2tt|�j|||d�i|_||_d|_d|_dS)N)�blockr�task_include)�superr�__init__�_from_files�_parent_role�
_role_name�
_role_path)�selfrrr��	__class__��A/usr/lib/python3.9/site-packages/ansible/playbook/role_include.pyr;s
zIncludeRole.__init__cCs|jpd|j|jfS)z return the name of the task z%s : %s)r�actionr)r r#r#r$�get_nameDszIncludeRole.get_namecCsB|dur|jj}n|}tj|j||||jd�}|j|jO_|durV|j||d�}ni}t||d�}|�	|j
�}tj|||j|d|j
d�}	|j|	j_|js�|jr�|j�|	�|	j|_|js�g}
nt|jj�}
|
�|j�|��}|	j|_|	j||
d�}|D]}
||
_|	j|
_q�|	j|d�}|D]}||_�q |j||_||fS)N)�play�variable_manager�loaderZcollection_list)r'Ztask)r)Z	variablesT)Zparent_role�
from_filesZfrom_includeZvalidate)r'�	dep_chain)r')Z_parentZ_playr�loadr�collections�varsZget_varsr�templaterr
rrrZ	_metadata�statically_loadedrZroles�appendr�listZ_parentsZbuild_parent_block�compileZget_handler_blocks�handlers)r r'r(r)ZmyplayZriZavailable_variablesZtemplarr*Zactual_roler+Zp_blockZblocks�br4�hr#r#r$�get_block_listHs@
�


zIncludeRole.get_block_listcCs�t|||d�j|||d�}t|j���}|j�d|j�d��|_|jdur\td|j|d��d|jvr�|jt	j
vr�td|j|d��|�tj�}|r�td	|jd
�
t|��f|d��|�tj�D]F}	|	�d�}
|j�|	�}t|t�s�td|	t|�f��t|�|j|
<q�|j�d
i�}|�r>|jt	j
v�r>td|j|d��n t|t��s^tdt|�|d��|�tj�D]}
t||
|j�|
���qj|S)N)r)r(r)rrz"'name' is a required field for %s.)�objrzInvalid options for %s: publiczInvalid options for %s: %s�,Z_fromz+Expected a string for %s but got %s insteadrzInvalid options for %s: applyz,Expected a dict for apply but got %s instead)rZ	load_data�	frozenset�args�keys�getrrr%�CZ_ACTION_INCLUDE_ROLE�
difference�
VALID_ARGS�joinr2�intersection�	FROM_ARGS�removesuffix�
isinstancer
�typerr�dict�
OTHER_ARGS�setattr)�datarrrr(r)ZirZmy_arg_namesZbad_opts�keyZfrom_keyZ
args_valueZapply_attrs�optionr#r#r$r,s0
 

zIncludeRole.loadcsDtt|�j||d�}|j|_|j��|_|j|_|j|_|j|_|S)N)�exclude_parent�
exclude_tasks)rr�copyr0rrrr)r rMrNZnew_mer!r#r$rO�szIncludeRole.copycsXtt|���}|jrT||j��O}|�dg��d|j���|�dg��d|jj�|S)NZansible_parent_role_namesrZansible_parent_role_paths)	rr�get_include_paramsrZget_role_params�
setdefault�insertr&r)r �vr!r#r$rP�szIncludeRole.get_include_params)NNN)NNN)NNNNN)FF)�__name__�
__module__�__qualname__�__doc__r:ZBASErCrHr@rrrrrr&r7�staticmethodr,rOrP�
__classcell__r#r#r!r$r's	
7() Z
__future__rrrrFZ
__metaclass__Zos.pathrZansible.constantsZ	constantsr>Zansible.errorsrZansible.playbook.attributerZansible.playbook.blockrZansible.playbook.task_includer	Zansible.playbook.roler
Zansible.playbook.role.includerZansible.utils.displayrZansible.module_utils.sixr
Zansible.templater�__all__Zdisplayrr#r#r#r$�<module>s

Zerion Mini Shell 1.0