
    Vh                         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  e	       Zg dZ G d d	e      Zy)
    )absolute_importdivisionprint_functionN)Display)ActionModule)load_provider)junos_provider_spec)junos_netconf
junos_pingjunos_commandc                         e Zd Zd fd	Z xZS )r   c                 	   ~| j                   j                  j                  d      d   }|dv rdnd| _        | j                  j
                  j                  d      d   }g }| j                  j
                  dk(  rt        t        | j                   j                        }t        j                  | j                        }d|_        |d   xs | j                  j                  |_        |d	   d
k(  r|t        vrdd|d	   d|ddS |dk(  s|d	   d
k(  r<|dk(  r7d|_        t        |d   xs | j                  j                  xs d      |_        n6d|_        t        |d   xs | j                  j                  xs d      |_        |d   xs | j                  j                   |_        |d   xs | j                  j$                  |_        |d   xs | j                  j&                  |_        | j(                  j*                  j-                  d|t.        j0                  | j                   j2                        }|d|_        |j
                  j                  d      d   dk(  rd|_        nd|_        | j(                  j*                  j-                  d|t.        j0                  | j                   j2                        }t4        j7                  d|j
                  z  |j                         |d    rt        |d          n|j9                  d!      }	|j;                  d!|	i"       |j=                         }
t4        j?                  d#|
z  |j                         |
sdd$dS |
|d%<   |jA                  d&|j
                  z  g       n|d'v r| j                   j                  j-                  d(i       }tC        |jE                               rR|d)k(  sM|d*k(  sH|d+k(  sCt4        jG                  d,| j                  j
                  z         | j                   j                  d(= |dk(  r|t        vs|dk(  r+|t        d-d. v r dd/| j                  j
                  d|ddS tH        tJ        | {  |0      }|rd1|v r|d1   jM                  |       |S ||d1<   |S )2N.)junos_configconfigTFlocalzjunipernetworks.junos.junoshost	transportclizTransport type 'z' is not valid for 'zc' module. Please see https://docs.ansible.com/ansible/latest/network/user_guide/platform_junos.html)failedmsgr
   r   zansible.netcommon.network_cliport   zansible.netcommon.netconfi>  usernamepasswordssh_keyfilezansible.netcommon.persistent)	task_uuidjunosnetconfnetwork_cli
persistentz&using connection plugin %s (was local)timeout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ansible_socketzmconnection local support for this module is deprecated and will be removed in version 2.14, use connection %s)r    r!   providerjunos_factsjunos_package	junos_scpz9provider is unnecessary when using %s and will be ignoredr      zConnection type ')	task_varswarnings)'_taskactionsplit_config_module_play_context
connectionr   r	   argscopydeepcopy
network_osremote_addrCLI_SUPPORTED_MODULESintr   connection_userremote_userr   private_key_file_shared_loader_objconnection_loadergetsysstdin_uuiddisplayvvv
get_optionset_optionsrunvvvvappendanyvalueswarningsuperr   extend)selftmpr,   module_namepersistent_connectionr-   r'   pcr3   command_timeoutsocket_pathresult	__class__s               l/home/dcms/DCMS/lib/python3.12/site-packages/ansible_collections/junipernetworks/junos/plugins/action/vrf.pyrH   zActionModule.run.   sw   jj''--c226&15O&OdUZ $ 2 2 = = C CC H L((G3$%8$**//JHt112B9BM%f-O1C1C1O1OBN$-+EZ2Z"  ,k;  o-%.;/3Q ?V$E(:(:(?(?E2 !<V$F(:(:(?(?F3 &j1WT5G5G5W5WBN":.M$2D2D2M2MBK"*="9"`T=O=O=`=`B00BBFF.		****	 G J ! '==&&s+B/9<$-BM$1BM!44FFJJ II"jj..	 K 
 KK82==H I& HY'(**+GH 
 ""4oF #  %..*KLL*[8"..I"q  +6I&'OO Dmm$ #&@@zz**:r:H8??$%  =0"o5"k1OOS,,778 


3 &6;Nc;c'94H]^_`aHb9b" ))44kC  |T..CV#z"))(3  &.z"    )NN)__name__
__module____qualname__rH   __classcell__)rX   s   @rY   r   r   -   s    z zrZ   r   )
__future__r   r   r   type__metaclass__r5   rA   ansible.utils.displayr   <ansible_collections.ansible.netcommon.plugins.action.networkr   ActionNetworkModuleOansible_collections.ansible.netcommon.plugins.module_utils.network.common.utilsr   Ransible_collections.junipernetworks.junos.plugins.module_utils.network.junos.junosr	   rD   r9    rZ   rY   <module>rh      sK   & A @   
 )
 )H {& {rZ   