관리-도구
편집 파일: 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