HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //snap/core20/2599/lib/python3/dist-packages/cloudinit/cmd/devel/__pycache__/render.cpython-38.pyc
U

Ӈg��@s�dZddlZddlZddlZddlZddlmZddlmZm	Z	m
Z
mZdZe�j
Ze�e�Zddd�Zdd	d
�Zdd�Zed
kr�e�eee�����dS)z,Debug jinja template rendering of user-data.�N)�read_cfg_paths)�JinjaLoadError�JinjaSyntaxParsingException�
NotJinjaError�render_jinja_payload_from_fileZrendercCsR|stjttd�}|jdtdd�|jddtdt��d�|jdd	d
ddd
�|S)aBuild or extend and arg parser for jinja render utility.

    @param parser: Optional existing ArgumentParser instance representing the
        subcommand which will be extended to support the args of this utility.

    @returns: ArgumentParser with proper argument configuration.
    )�progZdescription�	user_dataz$Path to the user-data file to render)�type�helpz-iz--instance-dataz6Optional path to instance-data.json file. Defaults to z-dz--debug�
store_trueFz+Add verbose messages during template render)�action�defaultr
)�argparse�ArgumentParser�NAME�__doc__�add_argument�str�CLOUDINIT_RUN_DIR)�parser�r�</usr/lib/python3/dist-packages/cloudinit/cmd/devel/render.py�
get_parsers*��	�rFc
Cst|r
|}nNt�}t��}|�d�}|dkrT|�d�}tj�|�sXt�d||�|}n|}tj�|�stt�d|�dSz t	|��}|�
�}W5QRXWn"tk
r�t�d|�YdSXzt||||r�dnd	d
�}	Wnxt
tfk
�r}
zt�dt|
��WY�dSd}
~
XYn<tk
�rL}
zt�d
|t|
��WY�dSd}
~
XYnX|	�sdt�d|�dStj�|	�dS)z�Render the provided user-data template file using instance-data values.

    Also setup CLI log handlers to report to stderr since this is a development
    utility which should be run by a human on the CLI.

    @return 0 on success, 1 on failure.
    �
instance_datarZinstance_data_sensitivez4Missing root-readable %s. Using redacted %s instead.z#Missing instance-data.json file: %s�zMissing user-data file: %sTF)ZpayloadZ
payload_fnZinstance_data_file�debugz5Cannot render from instance data due to exception: %sNz2Failed to render templated user-data file '%s'. %sz#Unable to render user-data file: %s)r�os�getuidZget_runpath�path�exists�LOGZwarning�error�open�read�IOErrorrrr�reprrr�sys�stdout�write)Zuser_data_pathZinstance_data_pathrZinstance_data_fn�pathsZuidZredacted_data_fn�streamrZrendered_payload�errr�render_template:sb

�

�
��r,cCst|j|j|j�S)N)r,rrr)�_name�argsrrr�handle_argsvsr/�__main__)N)NF)rrZloggingrr&Zcloudinit.cmd.develrZ!cloudinit.handlers.jinja_templaterrrrrZrun_dirrZ	getLogger�__name__r rr,r/�exit�
parse_argsrrrr�<module>s

 
<