
    Vh                        d dl mZ d dlmZm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	e
      Zy
)    )annotations)AnsibleActionAnsibleActionFail)get_action_args_with_defaults)PKG_MGRS)
ActionBase)Display)combine_varsc                  Z    e Zd ZdZeD  ch c]  }|d   	 c}} Zdfd	ZxZS c c}} w )ActionModuleFnamec                   d| _         d| _        t        t        |   ||      }| j
                  j                  j                  dd      }	 |dk(  r| j
                  j                  rM|d   | j
                  j                     }t        | j
                  j                  |j                  di             }n|}|}|j                  dd      }|s|j                  di       j                  d	d
      r|}d	}nR| j                  dt        dd      |      }|j                  dd
      rt        d|j                  d       |      d}	 |d   |   }|re|dk7  r_| j                  j                   j#                  |      st        d|z        | j
                  j                  j%                         }	d|	v r|	d= | j                  j                   j'                  || j
                  j(                        }
t+        |
j,                  |	| j
                  j.                  | j0                  | j
                  j2                  j4                  j6                        }	|| j8                  v rd|z   }t:        j=                  d|z         |j?                  | j                  ||	|| j
                  j@                               	 |S t        d      # t        $ r t        d      w xY w# tB        $ r&}|j?                  |jD                         Y d}~|S d}~ww xY w)z  handler for package operations Tuseautohostvarsdelegated_varsansible_package_useNansible_factspkg_mgrFzansible.legacy.setupansible_pkg_mgrz!all)filtergather_subset)module_namemodule_args	task_varsfailedzIFailed to fetch ansible_pkg_mgr to determine the package action backend: msg)resultz?Could not detect a package manager. Try using the "use" option.z>Could not find a matching action for the "%s" package manager.)collection_list)action_groupszansible.legacy.z
Running %s)r   r   r   
wrap_asyncz_Could not detect which package manager to use. Try gathering facts or setting the "use" option.)#_supports_check_mode_supports_asyncsuperr   run_taskargsgetdelegate_tor
   vars_execute_moduledictr   KeyError_shared_loader_objmodule_loader
has_plugincopyfind_plugin_with_contextcollectionsr   resolved_fqcnmodule_defaults_templar_parent_play_action_groupsBUILTIN_PKG_MGR_MODULESdisplayvvvvupdate	async_valr   r   )selftmpr   r   module
hosts_varstvarsfactspmgrnew_module_argscontexte	__class__s               N/home/dcms/DCMS/lib/python3.12/site-packages/ansible/plugins/action/package.pyr%   zActionModule.run#   s    %)!#|T.sI>$$UF3A	$::))!*:!6tzz7M7M!NJ()--HXZ\:]^E!*J%E #8$?!~~or:>>y%P *( !% 4 4(>(,4EU[(\&/ !5 !
 !99Xu5"3"klqluluv{l|k} ~',#   1s!&!7!= &F*..<<GGO+,lou,uvv '+jjoo&:&:&<O/+E2 #55CC\\]cuyuu  vL  vL\  MG&C--

@Z@Z\`\i\i&*jj&8&8&>&>&M&M'O
 !=!==!2V!;LL!67MM$"6"66Wfr{  IM  IS  IS  I]  I]"6  #^  _  (  )J  K  K5 $ s/0qrrs8  	$MM!((##	$s8   C9K K  E%K 5K  KK 	L!LL)NN)__name__
__module____qualname__TRANSFERS_FILESr   r:   r%   __classcell__).0managerrI   s   00@rJ   r   r      s/    O>FG7wvGM M Hs   'r   N)
__future__r   ansible.errorsr   r   ansible.executor.module_commonr   )ansible.module_utils.facts.system.pkg_mgrr   ansible.plugins.actionr   ansible.utils.displayr	   ansible.utils.varsr
   r;   r        rJ   <module>r[      s1   " # ; H > - ) +
)S: SrZ   