File: //usr/lib/python3.9/site-packages/ansible/playbook/role/__pycache__/metadata.cpython-39.pyc
a
�)g � @ s� d dl mZmZmZ eZd dlZd dlmZm Z d dl
mZ d dlm
Z
d dlmZ d dlmZ d dlmZ d d lmZ d d
lmZ dgZG dd� dee�ZdS )
� )�absolute_import�division�print_functionN)�AnsibleParserError�AnsibleError)� to_native)�string_types)�NonInheritableFieldAttribute)�Base)�CollectionSearch)�load_list_of_roles)�RoleRequirement�RoleMetadatac s~ e Zd ZdZeddd�Zeded�Zedd�Zede d�Z
d� fd
d� Zeddd
��Z
dd� Zdd� Zdd� Zdd� Z� ZS )r zt
This class wraps the parsing and validation of the optional metadata
within each Role (meta/main.yml).
�boolF)�isa�default�listZ
GalaxyInfo)r �dictNc s || _ tt| ��� d S )N)�_owner�superr �__init__)�self�owner�� __class__� �B/usr/lib/python3.9/site-packages/ansible/playbook/role/metadata.pyr / s zRoleMetadata.__init__c C s4 t | t�std|�� ��t|d�j| ||d�}|S )zY
Returns a new RoleMetadata object based on the datastructure passed in.
z3the 'meta/main.yml' for role %s is not a dictionary)r )�variable_manager�loader)�
isinstancer r Zget_namer Z load_data)�datar r r �mr r r �load3 s
zRoleMetadata.loadc
s� g }|r�t |t�s td| jd��|D ]�}t |t�sBd|v sBd|v rN|�|� q$z.t�|�}|�d�rp|d |d<