HEX
Server: LiteSpeed
System: Linux kapuas.iixcp.rumahweb.net 5.14.0-427.42.1.el9_4.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Nov 1 14:58:02 EDT 2024 x86_64
User: mirz4654 (1666)
PHP: 8.1.33
Disabled: system,exec,escapeshellarg,escapeshellcmd,passthru,proc_close,proc_get_status,proc_nice,proc_open,proc_terminate,shell_exec,popen,pclose,dl,pfsockopen,leak,apache_child_terminate,posix_kill,posix_mkfifo,posix_setsid,posix_setuid,posix_setpgid,ini_alter,show_source,define_syslog_variables,symlink,syslog,openlog,openlog,closelog,ocinumcols,listen,chgrp,apache_note,apache_setenv,debugger_on,debugger_off,ftp_exec,dll,ftp,myshellexec,socket_bind,mail,posix_getwpuid
Upload Files
File: //lib/python3.9/site-packages/ansible/plugins/lookup/__pycache__/template.cpython-39.pyc
a

�)gN�@s�ddlmZmZmZeZdZdZdZddl	m
Z
ddlZddlm
ZddlmZddlmZdd	lmZmZdd
lmZmZddlmZddlmZe�ZGd
d�de�ZdS)�)�absolute_import�division�print_functiona�
    name: template
    author: Michael DeHaan
    version_added: "0.9"
    short_description: retrieve contents of file after templating with Jinja2
    description:
      - Returns a list of strings; for each template in the list of templates you pass in, returns a string containing the results of processing that template.
    options:
      _terms:
        description: list of files to template
      convert_data:
        type: bool
        description:
            - Whether to convert YAML into data. If False, strings that are YAML will be left untouched.
            - Mutually exclusive with the jinja2_native option.
        default: true
      variable_start_string:
        description: The string marking the beginning of a print statement.
        default: '{{'
        version_added: '2.8'
        type: str
      variable_end_string:
        description: The string marking the end of a print statement.
        default: '}}'
        version_added: '2.8'
        type: str
      jinja2_native:
        description:
            - Controls whether to use Jinja2 native types.
            - It is off by default even if global jinja2_native is True.
            - Has no effect if global jinja2_native is False.
            - This offers more flexibility than the template module which does not use Jinja2 native types at all.
            - Mutually exclusive with the convert_data option.
        default: False
        version_added: '2.11'
        type: bool
      template_vars:
        description: A dictionary, the keys become additional variables available for templating.
        default: {}
        version_added: '2.3'
        type: dict
      comment_start_string:
        description: The string marking the beginning of a comment statement.
        version_added: '2.12'
        type: str
      comment_end_string:
        description: The string marking the end of a comment statement.
        version_added: '2.12'
        type: str
aO
- name: show templating results
  ansible.builtin.debug:
    msg: "{{ lookup('ansible.builtin.template', './some_template.j2') }}"

- name: show templating results with different variable start and end string
  ansible.builtin.debug:
    msg: "{{ lookup('ansible.builtin.template', './some_template.j2', variable_start_string='[%', variable_end_string='%]') }}"

- name: show templating results with different comment start and end string
  ansible.builtin.debug:
    msg: "{{ lookup('ansible.builtin.template', './some_template.j2', comment_start_string='[#', comment_end_string='#]') }}"
zW
_raw:
   description: file(s) content after templating
   type: list
   elements: raw
)�deepcopyN)�AnsibleError)�
LookupBase)�to_bytes�to_text)�generate_ansible_template_vars�AnsibleEnvironment)�Display)�NativeJinjaTextc@seZdZdd�ZdS)�LookupModulec	Ks�g}|j||d�|�d�}|�d�}|�d�o4tj}|�d�}|�d�}	|�d�}
|�d�}|rj|j}n|jjtd	�}|D�]F}
t�d
|
�|�	|d|
�}t�
d|�|�r�|j�|�\}}t
|d
d�}|�dg�}|�rg}|D]"}|�tj�|d��|�|�q�|}|�dtj�|��t|�}|�t|
|��|�|�|j||	|
|||d��"|j|d|dd�}Wd�n1�s�0Ytj�r�|�r�|�s�t|�}|�|�q|td|
��q||S)N)Zvar_optionsZdirect�convert_dataZ
template_vars�
jinja2_native�variable_start_string�variable_end_string�comment_start_string�comment_end_string)Zenvironment_classzFile lookup term: %sZ	templateszFile lookup using %s as fileZsurrogate_or_strict)�errorsZansible_search_pathr)rrrrZavailable_variables�
searchpathTF)Zpreserve_trailing_newlinesrZescape_backslashesz6the template file %s could not be found for the lookup)Zset_optionsZ
get_option�CZDEFAULT_JINJA2_NATIVEZ_templarZcopy_with_new_envr�display�debugZfind_file_in_search_pathZvvvvZ_loaderZ_get_file_contentsr	�get�append�os�path�join�insert�dirnamer�updater
Zset_temporary_context�templater
r)�selfZtermsZ	variables�kwargs�retZconvert_data_pZlookup_template_varsrrrrrZtemplarZtermZ
lookupfileZb_template_dataZ	show_dataZ
template_datarZ
newsearchpath�p�vars�res�r)�C/usr/lib/python3.9/site-packages/ansible/plugins/lookup/template.py�runbsX







��&zLookupModule.runN)�__name__�
__module__�__qualname__r+r)r)r)r*r`sr)Z
__future__rrr�typeZ
__metaclass__Z
DOCUMENTATIONZEXAMPLESZRETURN�copyrrZansible.constantsZ	constantsrZansible.errorsrZansible.plugins.lookuprZansible.module_utils._textrr	Zansible.templater
rZansible.utils.displayrZansible.utils.native_jinjar
rrr)r)r)r*�<module>s3