File: //lib/python3.9/site-packages/ansible/playbook/role/__pycache__/include.cpython-39.pyc
a
�)g� � @ s~ d dl mZmZmZ eZd dlmZmZ d dl m
Z
d dlmZ d dl
mZ d dlmZ d dlmZ dgZG d d� de�Zd
S )� )�absolute_import�division�print_function)�AnsibleError�AnsibleParserError)�string_types)�AnsibleBaseYAMLObject)�FieldAttribute)�RoleDefinition)� to_native�RoleIncludec sF e Zd ZdZedd�Zeddd�Zd� fdd � Zed
d
d��Z � Z
S )r zt
A derivative of RoleDefinition, used by playbook code when a role
is included for execution in a play.
�string)�isa�boolF)r �defaultNc s t t| �j|||||d� d S )N��play�role_basedir�variable_manager�loader�collection_list)�superr �__init__)�selfr r r r r �� __class__� �A/usr/lib/python3.9/site-packages/ansible/playbook/role/include.pyr + s �zRoleInclude.__init__c C sn t | t�s.t | t�s.t | t�s.tdt| � ��t | t�rLd| v rLtd| ��t|||||d�}|j| ||d�S )NzInvalid role definition: %s�,z&Invalid old style role requirement: %sr )r r ) �
isinstancer �dictr r r r r Z load_data)�datar Zcurrent_role_pathZparent_roler r r Zrir r r �load/ s zRoleInclude.load)NNNNN)NNNNN)�__name__�
__module__�__qualname__�__doc__r Zdelegate_toZdelegate_factsr �staticmethodr"