a ì)g6ã@sŒddlmZmZmZeZddlZddlZddlZddl m Z m Z m Z m Z mZddlmZddlmZmZmZddlmZGdd„deƒZdS) é)Úabsolute_importÚdivisionÚprint_functionN)Ú AnsibleErrorÚ AnsibleActionÚ_AnsibleActionDoneÚAnsibleActionFailÚAnsibleActionSkip)Úmodule_manifest)Úto_bytesÚ to_nativeÚto_text)Ú ActionBasecs,eZdZdZe d¡Zd‡fdd„ Z‡ZS)Ú ActionModuleTz^(?:[a-zA-Z]\:)?(\\|\/)Ncsz|durtƒ}tt|ƒ ||¡}~z>zô|jj d¡}|rR| |¡rRtd|ƒ‚|jj d¡}|rz| |¡sztd|ƒ‚|jj d¡}|rÚt |j j ddƒr´|j   |¡s´td |ƒ‚t |j j ddƒsÚ| d ¡sÚtd |ƒ‚t|jj d d ¡dd}dd„t | ¡¡Dƒ}|d} t|jj dd ¡dd} z(|jj| d| ¡|jj dd¡d} Wn2ty„} ztt| ƒƒ‚WYd} ~ n d} ~ 00|jjrØ|jj d¡s°|jj d¡rÄd|d<t|d‚nd|d<td|d‚d|d<|j j  |j j jtj | ¡¡} t|ƒ ¡  |d| ¡} | !| | ¡|j"|j j j| fddtƒ}| #|¡}| rbd $|| | g¡}nd $|| g¡}|j j  %|¡}d}t |j j ddƒrâ|j&}t' (t)|ƒ| i||jj*|j+|j,|j-|j.|j/d|d¡ }|j j j0d dd d}| 1|j2||d|d ¡d!|vr|d!dkrtd"ƒ‚Wn2t3yN} z| 1| j4¡WYd} ~ n d} ~ 00W| 5|j j j¡n| 5|j j j¡0|S)#z& handler for file transfer operations NÚcreatesz"%s exists, matching creates optionÚremovesz*%s does not exist, matching removes optionÚchdirZ _IS_WINDOWSFz;chdir %s must be an absolute path for a Windows remote nodeú/z>chdir %s must be an absolute path for a Unix-aware remote nodeZ _raw_paramsÚÚsurrogate_or_strict©ÚerrorscSsg|]}t|dd‘qS)rr)r )Ú.0Ús©rúA/usr/lib/python3.9/site-packages/ansible/plugins/action/script.pyÚ Oóz$ActionModule.run..rÚ executableÚfilesÚdecryptT)r Zchanged)Úresultz*Check mode is not supported for this task.)Zexecuteú Zscriptz #!powershell)Ú env_stringZshebangÚcmd)r$Zin_dataZsudoablerÚrcznon-zero return code)6ÚdictÚsuperrÚrunZ_taskÚargsÚgetZ_remote_file_existsr ÚgetattrZ _connectionZ_shellÚwindows_absolute_path_detectionÚmatchrÚ startswithr ÚshlexÚsplitÚstripZ_loaderZ get_real_fileZ _find_needlerZ check_moderZ join_pathZtmpdirÚosÚpathÚbasenamer ÚreplaceZ_transfer_fileZ _fixup_perms2Z_compute_environment_stringÚjoinZ wrap_for_execZ _play_contextÚ ps_manifestZ_create_powershell_wrapperr Z async_valZbecomeZ become_methodZ become_userZ become_passZ become_flagsZbuild_module_commandÚupdateZ_low_level_execute_commandrr!Z_remove_tmp_path)ÚselfÚtmpZ task_varsr!rrrZ raw_paramsÚpartsÚsourcerÚeZtmp_srcZtarget_commandZenv_dictr#Z script_cmdZ exec_dataZpc©Ú __class__rrr(&s€     ÿ  ("     ÿ    ý $$zActionModule.run)NN) Ú__name__Ú __module__Ú __qualname__ZTRANSFERS_FILESÚreÚcompiler,r(Ú __classcell__rrr>rrs r)Z __future__rrrÚtypeZ __metaclass__r2rCr/Zansible.errorsrrrrr Zansible.executor.powershellr r7Zansible.module_utils._textr r r Zansible.plugins.actionrrrrrrÚs