a ì)gG-ã@s¤ddlmZmZmZeZddlZddlmZ ddl m Z ddl m Z ddlmZddlmZddlmZdd lmZdd lmZdd lmZeƒZGd d „d ƒZdS)é)Úabsolute_importÚdivisionÚprint_functionN)Ú constants)Ú AnsibleError)Ú remove_omit)Úto_text)ÚHandler)Ú TaskInclude)Ú IncludeRole)ÚTemplar)ÚDisplayc@s:eZdZd dd„Zdd„Zdd„Zdd „Zed d „ƒZd S)Ú IncludedFileFcCs.||_||_||_||_g|_||_g|_dS©N)Ú _filenameÚ_argsÚ_varsÚ_taskÚ_hostsZ_is_roleÚ_results)ÚselfÚfilenameÚargsÚvarsÚtaskÚis_role©rúB/usr/lib/python3.9/site-packages/ansible/playbook/included_file.pyÚ__init__'szIncludedFile.__init__cCs$||jvr|j |¡dStƒ‚dSr)rÚappendÚ ValueError)rÚhostrrrÚadd_host0s  zIncludedFile.add_hostcCsH|j|jkoF|j|jkoF|j|jkoF|jj|jjkoF|jjj|jjjkSr)rrrrZ_uuidÚ_parent)rÚotherrrrÚ__eq__6s  ÿ þýü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 |jtjvrBt dd¡|jr`d|j vrTq |j d} n|j g} | D]¶} d| vr‚| dsld| vr”| dr”ql|j ||f} z || } Wn,t yØ|j |j ||d} || <Yn0|   dtƒ¡} i}|   dd ¡}|   d ¡}|| vr | || |<||<|rD|| vrD| || |<||<d | vrb| d | d <|d <d | vr€| d | d <|d <|jr¤d | vr¤|j| d <|d <| ¡| d<| ¡| dvrÔ| d | ¡¡t|| d}|jtjvrêd}|jrz|j}d}|durzt|tƒs$|j}qt|tƒr8|j}nbztj | |j  d¡¡¡}WnBty˜}z(d}t  d|jt!|ƒf¡WYd}~n d}~00|durÂtj "|¡sÂtj #||¡}n|}| | d¡}|j$rJtj #|j$jd|¡}| %|j$jd|¡| %|d|¡g}|D]2}zt &|¡Wq\Wnt'yBYn0qn| %| ¡||¡}tj (|¡rpqzn|j}q|durÐ|j$rÂ| | d¡}|j%|j$jt|t)ƒr´dnd|dd}n| *| d¡}| |¡}t+|| ||ƒ}nª|  ,d|  ,dd¡¡}|dur| |¡}| -¡}|j.|d||_/|j0D]0}|| vr2| 1d¡}| |  ,|¡¡|j2|<q2|   d¡}|r‚t3|j2|ƒ|_2t+|| ||dd}d} |}!z"|| d… 4|!¡}"|| |"}Wn"t5yà| |!¡|!}Yn0z| 6|¡|j7 |¡Wn t5y| |"d7} Yn0qlqœqlq |S)NzO"include" is deprecated, use include_tasks/import_tasks/import_playbook insteadz2.16ÚresultsZskippedZfailed)Zplayr!rÚ include_argsZansible_loop_varÚitemZansible_index_varZ_ansible_item_labelZ ansible_loopZ_ansible_no_logZansible_search_path)ÚloaderZ variablesZ _raw_paramsÚzoTemplating the path of the parent %s failed. The path to the included file may not be found. The error was: %s.ZincludeZtasksÚhandlersT)rÚnameZrole)ÚtemplarZ_fromZomitré)8Z_hostrÚactionÚCZ_ACTION_ALL_INCLUDESZ_ACTION_INCLUDEÚdisplayZ deprecatedZloopZ_resultZ_playÚKeyErrorZget_varsÚgetÚdictZno_logZget_search_pathZ get_basedirrr Z_ACTION_ALL_INCLUDE_TASKSr#Ú isinstancer r Z _role_pathÚosÚpathÚdirnameÚtemplaterrZwarningrÚisabsÚjoinZ_roleZpath_dwim_relativeÚstatÚOSErrorÚexistsr Z path_dwimrÚpopÚcopyZ post_validateZ _role_nameZ FROM_ARGSÚ removesuffixZ _from_filesrÚindexr r"r)#r'Úiteratorr*Zvariable_managerZincluded_filesZtask_vars_cacheÚresZ original_hostZ original_taskZinclude_resultsZinclude_resultZ cache_keyZ task_varsr(Z special_varsZloop_varZ index_varr.Z include_fileZparent_includeZcumulative_pathZparent_include_dirÚeZinclude_targetZ new_basedirZ candidatesZinc_fileZ role_nameZnew_taskZfrom_argZfrom_keyZ omit_tokenÚidxZ orig_inc_fileÚposrrrÚprocess_include_results@sî                       þÿ ÿ     ü            z$IncludedFile.process_include_resultsN)F) Ú__name__Ú __module__Ú __qualname__rr"r%r&Ú staticmethodrIrrrrr%s  r)Z __future__rrrÚtypeZ __metaclass__r7Zansiblerr1Zansible.errorsrZansible.executor.task_executorrZansible.module_utils._textrZansible.playbook.handlerr Zansible.playbook.task_includer Zansible.playbook.role_includer Zansible.templater Zansible.utils.displayr r2rrrrrÚs