
    Vhu                         d dl mZmZmZ eZd dlmZ 	 d dlm	Z	 dZ
d dlmZ d dlmZmZ  e       Zej%                   e              g Zg Zg Zg Z G d d	e      Zy
# e$ r dZ
Y Hw xY w)    )absolute_importdivisionprint_function)
ActionBase)AnsibleArgSpecValidatorTF)AnsibleActionFail)ISESDKise_argument_specc                   6     e Zd Z fdZd Zd Zd fd	Z xZS )ActionModulec                 x    t         st        d      t        t        |   |i | d| _        d| _        d | _        y )NzYansible.utils is not installed. Execute 'ansible-galaxy collection install ansible.utils'FT)ANSIBLE_UTILS_IS_INSTALLEDr   superr   __init___supports_async_supports_check_mode_result)selfargskwargs	__class__s      o/home/dcms/DCMS/lib/python3.12/site-packages/ansible_collections/cisco/ise/plugins/action/configuration_info.pyr   zActionModule.__init__&   sC    )#k  	lD*D;F;$$(!    c                 *   t        | j                  j                  t        t              dt        t
        t        t        t              | j                  j                        }|j                         \  }}| j                  _        |st        |      y )N)argument_specargspec)required_ifrequired_one_ofmutually_exclusiverequired_together)dataschemaschema_formatschema_conditionalsname)r   _taskr   dictr   r   r   r   r    actionvalidater   )r   aavvaliderrorss       r   _check_argspeczActionModule._check_argspec1   sr    %m4# $' /#5"3	! ""
 *-&vtzz#F++ r   c                     t               }|S )N)r'   )r   params
new_objects      r   
get_objectzActionModule.get_objectB   s    V
r   c                    d| j                   _        t        t        |   ||      | _        d| j
                  d<   | j                          | j
                  j                  t        i              t        | j                   j                        }| j                   j                  j                  d      }| j                   j                  j                  d      }|s|s|j                  dd| j                  | j                   j                        	      j                  }| j
                  j                  t        |             | j
                  j                  |j                                | j
                  S y y )
NFchanged)ise_response)r/   idr%   configurationget_configuration)familyfunctionr/   )r&   diffr   r   runr   r-   updater'   r	   r   getexecr1   response	exit_json)r   tmp	task_varsiser5   r%   r?   r   s          r   r;   zActionModule.runF   s   

\44S)D"'YDb12DJJOO,ZZ__  &zz""6*Bxx&,tzz7    h	 
 LL( ;<LL0<< tr   )NN)__name__
__module____qualname__r   r-   r1   r;   __classcell__)r   s   @r   r   r   %   s    ,"   r   r   N)
__future__r   r   r   type__metaclass__ansible.plugins.actionr   Nansible_collections.ansible.utils.plugins.module_utils.common.argspec_validater   r   ImportErroransible.errorsr   6ansible_collections.cisco.ise.plugins.plugin_utils.iser	   r
   r   r<   r'   r   r   r   r    r    r   r   <module>rQ      s    A @ -& "& , "#   TV   5 : 5 +  '!&'s   A A%$A%