File: //lib/python3.9/site-packages/ansible/vars/__pycache__/plugins.cpython-39.pyc
a
�)gW � @ s� d dl mZmZmZ eZd dlZd dlmZ d dl
mZ d dlm
Z
d dlmZ d dlmZ d dlmZ d d lmZ d d
lmZ e� Zdd� Zd
d� Zdd� ZdS )� )�absolute_import�division�print_functionN)� constants)�AnsibleError)�Host)�to_bytes)�vars_loader)�AnsibleCollectionRef)�Display)�combine_varsc C s� i }z|� | ||�}W n� ty� z:|D ]0}t|t�rJ||�|j�O }q*||�|j�O }q*W nF ty� t|d�r�td|j |j
f ��ntd|j |j
f ��Y n0 Y n0 |S )N�runz)Cannot use v1 type vars plugin %s from %szInvalid vars plugin %s from %s)Zget_vars�AttributeError�
isinstancer Z
get_host_vars�nameZget_group_vars�hasattrr Z
_load_nameZ_original_path)�loader�plugin�path�entities�dataZentity� r �8/usr/lib/python3.9/site-packages/ansible/vars/plugins.py�get_plugin_vars s
r c
C s� i }t t�� �}tjD ]4}t�|�rt�|�}|d u r8q||vr|�|� q|D �]*}|j �
d�pjd|j v} | }
t|d�r�|j}
nt|d�r�t
jddd� |j}
| s�t|d�s�t|d�r�t
�d|j � n| r�|
r�|�tj�s�qPt|d �o�|�d
�}|�r|�d
�d u �p| }|�rLtjdk�r2|dk�r2qPntjd
k�rh|dk�rhqPn|�rh|�d
�d|fv�rhqPt|t| |||��}qP|S )Nzansible.builtin.�.�REQUIRES_ENABLED�REQUIRES_WHITELISTzaThe VarsModule class variable 'REQUIRES_WHITELIST' is deprecated. Use 'REQUIRES_ENABLED' instead.gq=
ףp@)�versionz�Vars plugins in collections must be enabled to be loaded, REQUIRES_ENABLED is not supported. This should be removed from the plugin %s.�
get_option�stageZdemandZ inventory�startZtask�all)�listr r! �CZVARIABLE_PLUGINS_ENABLEDr
Z
is_valid_fqcr�get�appendZansible_name�
startswithr r �displayZ
deprecatedr ZwarningZmatches_nameZ
has_optionr ZRUN_VARS_PLUGINSr r )
r r r r r Zvars_plugin_listZplugin_nameZvars_pluginr Zbuiltin_or_legacyZ
needs_enabledZ has_stageZ
use_globalr r r �get_vars_from_path* sL
���r( c C sd i }|D ]V}|d u rqd|v r.t j�|�s.qnt j�t|��sJt j�|�}t|t| |||��}q|S )N�,)�osr �exists�isdirr �dirnamer r( )r Zsourcesr r r r r r r �get_vars_from_inventory_sourcesc s r. )Z
__future__r r r �typeZ
__metaclass__r* Zansibler r# Zansible.errorsr Zansible.inventory.hostr Zansible.module_utils._textr Zansible.plugins.loaderr Zansible.utils.collection_loaderr
Zansible.utils.displayr Zansible.utils.varsr r'