B
    `U                 @   s~   d dl mZmZmZ eZd dlZd dlZd dlm	Z
 d dlmZ d dlmZ d dlmZ d dlmZ e ZG dd	 d	eZdS )
    )absolute_importdivisionprint_functionN)	constants)ActionModule)enos_provider_spec)load_provider)Displayc                   s   e Zd Zd fdd	Z  ZS )r   Nc                s  ~| j jdd }|dkr dnd| _| jjdd }|dkrt| j jdi }t|	 rpt
d | j jd= nN| jjd	krtt| j j}t| j}d|_d
|_|d p| jj|_|d p| jjpd|_|d p| jj|_|d p| jj|_|d p| jj|_t|d ptj}|d p(d|_|d |_d|_t
d|j |j | jjjd|t j!| j j"d}|j#d|id |$ }	t
%d|	 |j |	sdddS |	|d< d}
t
j&|
dd d! t't(| j$|d"}|S )#N.Zenos_configTFZnetwork_cliproviderzBprovider is unnecessary when using network_cli and will be ignoredlocalZenoshostport   usernamepasswordZssh_keyfiletimeoutZ	authorizeZ	auth_passenablez&using connection plugin %s (was local)
persistent)Z	task_uuidZpersistent_command_timeout)directzsocket_path: %szzunable to open shell. Please see: https://docs.ansible.com/ansible/network_debug_troubleshooting.html#unable-to-open-shell)failedmsgZansible_socketz}connection local support for this module is deprecated use either 'network_cli' or 'ansible.netcommon.network_cli' connectionz4.0.0zcommunity.network)versionZcollection_name)	task_vars))Z_taskactionsplitZ_config_moduleZ_play_context
connectionargsgetanyvaluesdisplaywarningr   r   copydeepcopyZ
network_osZremote_addrr   Zconnection_userZremote_userr   Zprivate_key_fileintCZPERSISTENT_COMMAND_TIMEOUTZbecomeZbecome_passZbecome_methodZvvvZ_shared_loader_objZconnection_loadersysstdin_uuidZset_optionsrunZvvvv
deprecatedsuperr   )selftmpr   module_nameZpersistent_connectionr   ZpcZcommand_timeoutr   Zsocket_pathr   result)	__class__ h/home/dcms/DCMS/lib/python3.7/site-packages/ansible_collections/community/network/plugins/action/enos.pyr+   "   sH    

zActionModule.run)NN)__name__
__module____qualname__r+   __classcell__r3   r3   )r2   r4   r       s   r   )
__future__r   r   r   type__metaclass__r(   r$   Zansibler   r'   Z<ansible_collections.ansible.netcommon.plugins.action.networkr   ZActionNetworkModuleZLansible_collections.community.network.plugins.module_utils.network.enos.enosr   ZOansible_collections.ansible.netcommon.plugins.module_utils.network.common.utilsr   Zansible.utils.displayr	   r"   r3   r3   r3   r4   <module>   s   