File: //usr/lib/python3.9/site-packages/ansible/plugins/lookup/__pycache__/nested.cpython-39.pyc
a
�)g�
� @ sl d dl mZmZmZ eZdZdZdZd dl m
Z
d dlmZm
Z
d dlmZ d dlmZ G d d
� d
e�ZdS )� )�absolute_import�division�print_functionaf
name: nested
version_added: "1.1"
short_description: composes a list with nested elements of other lists
description:
- Takes the input lists and returns a list with elements that are lists composed of the elements of the input lists
options:
_raw:
description:
- a set of lists
required: True
as
- name: give users access to multiple databases
community.mysql.mysql_user:
name: "{{ item[0] }}"
priv: "{{ item[1] }}.*:ALL"
append_privs: yes
password: "foo"
with_nested:
- [ 'alice', 'bob' ]
- [ 'clientdb', 'employeedb', 'providerdb' ]
# As with the case of 'with_items' above, you can use previously defined variables.:
- name: here, 'users' contains the above list of employees
community.mysql.mysql_user:
name: "{{ item[0] }}"
priv: "{{ item[1] }}.*:ALL"
append_privs: yes
password: "foo"
with_nested:
- "{{ users }}"
- [ 'clientdb', 'employeedb', 'providerdb' ]
zr
_list:
description:
- A list composed of lists paring the elements of the input lists
type: list
)�UndefinedError)�AnsibleError�AnsibleUndefinedVariable)�
LookupBase)�listify_lookup_plugin_termsc @ s e Zd Zdd� Zddd�ZdS )�LookupModulec C sb g }|D ]T}zt || jdd�}W n0 tyP } ztd| ��W Y d }~n
d }~0 0 |�|� q|S )NT)ZtemplarZfail_on_undefinedz<One of the nested variables was undefined. The error was: %s)r Z_templarr r �append)�self�terms� variables�results�xZintermediate�e� r �A/usr/lib/python3.9/site-packages/ansible/plugins/lookup/nested.py�_lookup_variables; s "zLookupModule._lookup_variablesNc K s� | � ||�}|d d � }|�� g }t|�dkr8td��|�� }t|�dkrb| �||�� �}|}q@g }|D ]}|�| �|�� qj|S )Nr z<with_nested requires at least one element in the nested list)r �reverse�lenr �popZ_combiner Z_flatten) r r
r �kwargsZmy_list�resultZresult2Z
new_resultr r r r �runE s zLookupModule.run)N)�__name__�
__module__�__qualname__r r r r r r r
9 s
r
N)Z
__future__r r r �typeZ
__metaclass__Z
DOCUMENTATIONZEXAMPLESZRETURNZjinja2.exceptionsr Zansible.errorsr r Zansible.plugins.lookupr Zansible.utils.listifyr r
r r r r �<module> s