
    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d#i d ed	
      d ed	
      d ed
      d ed
      d ed	
      d ed	
      d ed	
      d ed	
      d ed
      d ed
      d ed
      d ed	
      d ed	
      d ed	
      d ed	
      d ed
      d ed
      d ed
      d ed
      d ed
             g Zg Zg Zg Z G d  d!e      Zy"# e$ r dZ
Y w xY w)$    )absolute_importdivisionprint_function)
ActionBase)AnsibleArgSpecValidatorTF)AnsibleActionFail)MERAKImeraki_argument_specserialstr)typeorganizationIdperPageinttotal_pages	directionstartingAfterendingBeforeconfigurationUpdatedAfter
networkIdslistproductTypestagstagsFilterTypenamemacmodelmacsserialssensorMetricssensorAlertProfileIdsmodelsc                   <     e Zd Z fdZ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      l/home/dcms/DCMS/lib/python3.12/site-packages/ansible_collections/cisco/meraki/plugins/action/devices_info.pyr(   zActionModule.__init__9   sC    )#km m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_conditionalsr   )r   _taskr-   dictr3   r5   r6   r7   r8   actionvalidater   )r,   aavvaliderrorss       r0   _check_argspeczActionModule._check_argspecC   sr    %m4# $' /#5"3	! ""
 *-&vtzz#F++ r1   c                 T    i }|j                  d      |j                  d      |d<   |S )Nr   getr,   params
new_objects      r0   
get_objectzActionModule.get_objectT   s2    
::h+#)::$Jx r1   c                    i }|j                  d      |j                  d      |d<   |j                  d      |j                  d      |d<   |j                  d      xs d|d<   |j                  d      xs d|d<   |j                  d      |j                  d      |d<   |j                  d      |j                  d      |d<   |j                  d	      |j                  d	      |d	<   |j                  d
      |j                  d
      |d
<   |j                  d      |j                  d      |d<   |j                  d      |j                  d      |d<   |j                  d      |j                  d      |d<   |j                  d      |j                  d      |d<   |j                  d      |j                  d      |d<   |j                  d      |j                  d      |d<   |j                  d      |j                  d      |d<   |j                  d      |j                  d      |d<   |j                  d      |j                  d      |d<   |j                  d      |j                  d      |d<   |j                  d      |j                  d      |d<   |j                  d      |j                  d      |d<   |S )Nr   r   r      r   nextr   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   rF   rH   s      r0   get_allzActionModule.get_all[   s   
::&'3+1:: ,"J'(::i ,$*JJ%Jy!$*JJ% %  	=!"(**# ##" 	;::o&2*0**+!J'::n%1)/* J~&::12>6<jj+7-J23::l#/'-zz(J|$::n%1)/* J~&::f)!'"Jv::&'3+1:: ,"J'(::f)!'"Jv::e( &

!Ju::h+#)::$Jx ::g*"(**#Jw::f)!'"Jv::i ,$*JJ%Jy!::o&2*0**+!J'::-.:28**'3)J./::h+#)::$Jx  r1   c                    d| j                   _        t        t        |   ||      | _        d| j
                  d<   | j                          | j
                  j                  t        i              t        | j                   j                        }| j                   j                  j                  d      }|r|j                  dd| j                  | j                   j                              }| j
                  j                  t        |             | j
                  j                  |j                                | j
                  S |s|j                  d	d
| j                  | j                   j                              }| j
                  j                  t        |             | j
                  j                  |j                                | j
                  S y )NFchanged)meraki_response)rI   r   devices	getDevice)familyfunctionrI   organizationsgetOrganizationDevices)r=   diffr'   r$   runr+   rD   updater>   r	   r-   rG   exec_merakirK   	exit_jsonrO   )r,   tmp	task_varsmerakiidresponser/   s         r0   rZ   zActionModule.run   sc   

\44S)D"'YD45tzz/ZZ__  *)) $tzz7 * H
 LLX >?LL 0 0 23<<))&1||DJJOO4 * H
 LLX >?LL 0 0 23<< r1   )NN)	__name__
__module____qualname__r(   rD   rK   rO   rZ   __classcell__)r/   s   @r0   r$   r$   8   s"    ,"=~   r1   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   <ansible_collections.cisco.meraki.plugins.plugin_utils.merakir	   r
   r3   r[   r>   r5   r6   r7   r8   r$   rg   r1   r0   <module>ro      s   C B -& "& , %&   T UU# e % 	
  E" 5! #.   6" 
6	 U# 
5	 	% E
  
6	!" f#$ F#%& F+'( V) .   ~ : ~ U  '!&'s   D" "D-,D-