
    Vh5                        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ddZddd
ZddZ e e             Zy	)    )annotations)Play)Block)Role)Task)Templar)Displayc                &   t        d      }t        |j                  j                  j	                               }t               }t               }t
        t        t        t        g}|D ]S  }|j                  j                         D ]4  \  }}|j                  r|j                  |       $|j                  |       6 U d|v r|j                  d       d|v sd|v r|j                  d       | r|j                  |      }n|}|j                  d       |S )zN this function returns the list of reserved names associated with play objectsN)loaderactionlocal_actionloopwith_gather_subset)r   setenvironmentglobalskeysr   r   r   r   fattributesitemsprivateaddunionremove)	include_privatetemplarpublicr   result
class_listaclassnameattrs	            E/home/dcms/DCMS/lib/python3.12/site-packages/ansible/vars/reserved.pyget_reserved_namesr$      s     T"G$$,,1134FeGUF eT*J ! ,,224 	!JD$||D!

4 		!! 6

>" Ff,

7g& MM/"M    Nc                    |t         }nt         j                  |      }t        |       }|j                  d       |j	                  |      D ]  }t
        j                  d|z          y)zU this function warns if any variable passed conflicts with internally reserved names Nvarsz&Found variable using reserved name: %s)_RESERVED_NAMESr   r   discardintersectiondisplaywarning)myvars
additionalreservedvarnamesvarnames        r#   warn_if_reservedr2   F   sd     ""((46{HV((2 L@7JKLr%   c                    | t         v S N)r(   )r!   s    r#   is_reserved_namer5   T   s    ?""r%   )T)r   boolreturnzset[str]r4   )r-   z	list[str]r.   zlist[str] | Noner7   None)r!   strr7   r6   )
__future__r   ansible.playbookr   ansible.playbook.blockr   ansible.playbook.roler   ansible.playbook.taskr   ansible.templater   ansible.utils.displayr	   r+   r$   r2   r5   	frozensetr(    r%   r#   <module>rC      sD   $ # ! ( & & $ )
)%PL# .01r%   