a ì)g7 ã@s„ddlmZmZmZeZddlmZddlm Z ddl m Z ddl m Z ddlmZeƒZddd „Zdd d „Zd d„ZeeƒƒZd S)é)Úabsolute_importÚdivisionÚprint_function)ÚPlay)ÚBlock)ÚRole)ÚTask)ÚDisplayTcCsœtƒ}tƒ}tƒ}ttttg}|D]4}|j ¡D]$\}}|jrJ| |¡q0| |¡q0q"d|vrj| d¡d|vszd|vr„| d¡|r”|  |¡}n|}|S)zN this function returns the list of reserved names associated with play objectsÚactionZ local_actionZloopZwith_) ÚsetrrrrZ fattributesÚitemsÚprivateÚaddÚunion)Zinclude_privateZpublicr ÚresultZ class_listZaclassÚnameÚattr©rú9/usr/lib/python3.9/site-packages/ansible/vars/reserved.pyÚget_reserved_namess"     rNcCsL|durt}n t |¡}t|ƒ}| d¡| |¡D]}t d|¡q4dS)zU this function warns if any variable passed conflicts with internally reserved names NÚvarsz&Found variable using reserved name: %s)Ú_RESERVED_NAMESrr ÚdiscardÚ intersectionÚdisplayZwarning)ZmyvarsÚ additionalZreservedZvarnamesZvarnamerrrÚwarn_if_reservedBs  rcCs|tvS)N)r)rrrrÚis_reserved_namePsr)T)N)Z __future__rrrÚtypeZ __metaclass__Zansible.playbookrZansible.playbook.blockrZansible.playbook.rolerZansible.playbook.taskrZansible.utils.displayr rrrrÚ frozensetrrrrrÚs      #