o nnh-@sddlmZddlZddlmZddlmZddlm Z ddl m Z ddl m Z ddlmZdd lmZdd lmZdd lmZeZGd d d ZdS)) annotationsN) constants) AnsibleError) remove_omit)to_text)Handler) TaskInclude) IncludeRole)Templar)Displayc@s:eZdZd ddZddZddZdd Zed d Zd S) IncludedFileFcCs.||_||_||_||_g|_||_g|_dSN) _filename_args_vars_task_hosts_is_role_results)selffilenameargsvarstaskis_rolerI/usr/local/lib/python3.10/dist-packages/ansible/playbook/included_file.py__init__%s zIncludedFile.__init__cCs ||jvr |j|dStr )rappend ValueError)rhostrrradd_host.s  zIncludedFile.add_hostcCsH|j|jko#|j|jko#|j|jko#|jj|jjko#|jjj|jjjkSr )rrrr_uuid_parent)rotherrrr__eq__4s   zIncludedFile.__eq__cCsd|j|j|j|jfS)Nz%s (args=%s vars=%s): %s)rrrr)rrrr__repr__;szIncludedFile.__repr__c$ Cs<g}i}|D]}|j}|j}|jtjvr|jr%d|jvrq|jd} n|jg} | D]n} d| vr6| ds>d| vr?| dr?q+|j||f} z|| } Wntya|j |j||d} || <Ynw| dt } i}| dd}| d}|| vr| || |<||<|| d<|d<|r|| vr| || |<||<|| d<|d<d | vr| d | d <|d <d | vr| d | d <|d <|j rd | vr|j | d <|d <|| d <|| d vr| d |t|| d }|jtjvrd}|jr|j}d}|durt|ts|j}qt|tr|j}n1ztj||j d}Wn!tyH}zd}td|jt |fWYd}~nd}~ww|dur]tj!|s]tj"||}n|}|| d}|j#rt|t$rrdnd}tj"|j#j||}|j%|j#j||dd|j%|||ddg}|D]}zt&|Wn t'yYqwn |%|||}tj(|rn|j}|dus|dur|j#r|| d}|j%|j#jt|t$rdnd|dd}n|)| d}||}t*|| ||}nU| d| dd}|dur||}|+}|j,|d||_-|j.D]}|| vr7|/d}|| ||j0|<q | d} | rHt1|j0| |_0t*|| ||dd}d}!|}" z||!d2|"}#||!|#}Wnt3yx||"|"}Ynwz |4||j5|Wnt3y|!|#d7}!YnwnqVq+q|S)Nresultsskippedfailed)playr r include_argsansible_loop_varitemansible_index_var_ansible_item_label ansible_loop_ansible_no_logansible_search_path)loader variables _raw_paramszoTemplating the path of the parent %s failed. The path to the included file may not be found. The error was: %s.includehandlerstasksT)rnamerole)templar_fromomitr)6_hostractionC_ACTION_ALL_INCLUDESloop_result_playKeyErrorget_varspopdictgetno_logget_search_path get_basedirrr _ACTION_INCLUDE_TASKSr# isinstancerr _role_pathospathdirnametemplaterrdisplaywarningrisabsjoin_rolerpath_dwim_relativestatOSErrorexists path_dwimr copy post_validate _role_name FROM_ARGS removesuffix _from_filesrindexrr!r)$r'iteratorr3variable_managerincluded_filestask_vars_cacheres original_host original_taskinclude_resultsinclude_result cache_key task_varsr+ special_varsloop_var index_varr< include_fileparent_includecumulative_pathparent_include_direinclude_targetrT new_basedir candidatesinc_file role_namenew_taskfrom_argfrom_key omit_tokenidx orig_inc_fileposrrrprocess_include_results>s                    ,          z$IncludedFile.process_include_resultsN)F) __name__ __module__ __qualname__rr!r%r& staticmethodrrrrrr #s  r ) __future__rrRansiblerrBansible.errorsransible.executor.task_executorr+ansible.module_utils.common.text.convertersransible.playbook.handlerransible.playbook.task_includeransible.playbook.role_includer ansible.templater ansible.utils.displayr rVr rrrrs