
    Vh                        d dl m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 d dlmZ d dlmZ d d	lmZ  e       Zd
 Zd Z ed      d        Zd Zd Zy)    )annotationsN)	lru_cache)	constants)AnsibleError)InventoryObjectType)vars_loader)Display)combine_varsc                     t        t        j                  d             t        j                  D ]  } | st        j
                  |         y )NT)
class_only)listr   allCVARIABLE_PLUGINS_ENABLEDget)plugin_names    D/home/dcms/DCMS/lib/python3.12/site-packages/ansible/vars/plugins.py_prime_vars_loaderr      s:    D	)*11 %$%    c                p   i }	 |j                  | ||      }|S # t        $ r t        |d      st        |d      r2t        j	                  d|j
                   d|j                   dd       	 |D ][  }|j                  t        j                  u r||j                  |j                        z  }>||j                  |j                        z  }] Y |S # t        $ rW t        |d      r%t        d	|j                  d|j                        t        d
|j                  d|j                        w xY ww xY w)Nget_host_varsget_group_varszThe vars plugin z from z is relying on the deprecated entrypoints 'get_host_vars' and 'get_group_vars'. This plugin should be updated to inherit from BaseVarsPlugin and define a 'get_vars' method as the main entrypoint instead.z2.20)versionrunzCannot use v1 type vars plugin zInvalid vars plugin )get_varsAttributeErrorhasattrdisplay
deprecatedansible_name_original_path	base_typer   HOSTr   namer   r   
_load_name)loaderpluginpathentitiesdataentitys         r   get_plugin_varsr,      sH   DrvtX6* K)  r6?+wv?O/P"6#6#6"7vf>S>S=T UF F   
	r" ?##':'?'??F00==DF11&++>>D	? K  	rvu%"RXRcRcekezez#{||"vGXGXZ`ZoZo#pqq		rrs    AD5.A CA D11D5
   )maxsizec                    d }	 | j                  d      }|r|d|fv S t        j                  }|dk(  r|dk(  ry|dk(  r|dk(  ryy# t        t        f$ r Y @w xY w)	Nstager   demand	inventoryFstarttaskT)
get_optionr   KeyErrorr   RUN_VARS_PLUGINS)r'   r0   allowed_stagesconfig_stage_overrides       r   _plugin_should_runr:   :   s     N**73 %// ..(Uk-A	'	)evo H% s   A AAc                   i }t         j                  
t                t         j                  D ]  }t        j                  |      x}d|j
                  v xr |j
                  j                  d       }|r.t        |d      r"t        j                  d|j
                  z         t        ||      st        | |||      x}i k7  st        ||      } |S )N.zansible.builtin.REQUIRES_ENABLEDzVars plugins in collections must be enabled to be loaded, REQUIRES_ENABLED is not supported. This should be removed from the plugin %s.)r   _pathsr   _plugin_instance_cacher   r    
startswithr   r   warningr:   r,   r
   )	r&   r(   r)   r0   r*   r   r'   
collectionnew_varss	            r   get_vars_from_pathrD   Q   s    D!"99 0!ook22F;F///j8K8K8V8VWi8j4j
'&*<=OO=?E?R?RS
 "&%0'hGGHBNh/D!0$ Kr   c                "   i }|D ]  }|d|v r t         j                  j                  |      s*t         j                  j                  |      st         j                  j	                  |      }t        | |||      x}i k7  s|t        ||      } |S )N,)osr(   existsisdirdirnamerD   r
   )r&   sourcesr)   r0   r*   r(   rC   s          r   get_vars_from_inventory_sourcesrL   l   s    D 0<$;rww~~d3t$77??4(D*645IIHbPh/D0 Kr   )
__future__r   rG   	functoolsr   ansibler   r   ansible.errorsr   ansible.inventory.groupr   ansible.plugins.loaderr   ansible.utils.displayr	   ansible.utils.varsr
   r   r   r,   r:   rD   rL    r   r   <module>rV      sV    # 	  " ' 7 . ) +
)%: 2 ,6r   