
    Vh              	          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 ed	       ed
	       ed	                   g Zg Zg Zg Z G d de      Zy# e$ r dZ
Y aw xY w)    )absolute_importdivisionprint_function)
ActionBase)AnsibleArgSpecValidatorTF)AnsibleActionFail)ISESDKise_argument_specstr)typebool)hotpatchNameisDirectoryListedrepositoryNamec                   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'F)ANSIBLE_UTILS_IS_INSTALLEDr   superr   __init___supports_async_supports_check_mode_result)selfargskwargs	__class__s      n/home/dcms/DCMS/lib/python3.12/site-packages/ansible_collections/cisco/ise/plugins/action/hotpatch_rollback.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_argspec7   sr    %m4# $' /#5"3	! ""
 *-&vtzz#F++ r   c                 |    t        |j                  d      |j                  d      |j                  d            }|S )Nr   r   r   )hotpatch_nameis_directory_listedrepository_name)r-   get)r   params
new_objects      r   
get_objectzActionModule.get_objectH   s:     **^4 &

+> ?"JJ'78


 r   c                    d| j                   _        t        t        |   ||      | _        d| j
                  d<   | j                          t        | j                   j                        }|j                  dd| j                  | j                   j                              j                  }| j
                  j                  t        |             | j
                  j                  |j                                | j
                  S )NFchanged)r9   patchingrollback_hotpatch)familyfunctionr9   )ise_response)r,   diffr   r   runr   r3   r	   r   execr;   responseupdater-   	exit_json)r   tmp	task_varsiserF   r   s        r   rD   zActionModule.runP   s    

\44S)D"'YDJJOO,88(??4::??3  
 (	 	 	Dh78CMMO,||r   )NN)__name__
__module____qualname__r   r3   r;   rD   __classcell__)r   s   @r   r   r   +   s    ," r   r   N)
__future__r   r   r   r   __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!   rG   r-   r#   r$   r%   r&   r    r   r   <module>rX      s    A @ -& "& , "#   u%F+'   5: 57  '!&'s   A4 4A>=A>