HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux ip-10-0-8-47 6.8.0-1021-aws #23~22.04.1-Ubuntu SMP Tue Dec 10 16:31:58 UTC 2024 aarch64
User: ubuntu (1000)
PHP: 8.1.2-1ubuntu2.22
Disabled: NONE
Upload Files
File: //lib/python3/dist-packages/cloudinit/cmd/devel/__pycache__/render.cpython-310.pyc
o

�Ad�@s�dZddlZddlZddlZddlmZddlmZmZddl	m
Z
mZmZdZ
e�e
�Zddd�Zdd
d�Zdd
�ZedkrLe�ee
e�����dSdS)z,Debug jinja template rendering of user-data.�N)�log)�addLogHandlerCLI�read_cfg_paths)�JinjaLoadError�
NotJinjaError�render_jinja_payload_from_file�rendercCsL|s	tjttd�}|jdtdd�|jddtdd�|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.
    )�prog�description�	user_dataz$Path to the user-data file to render)�type�helpz-iz--instance-datazXOptional path to instance-data.json file. Defaults to /run/cloud-init/instance-data.jsonz-dz--debug�
store_trueFz+Add verbose messages during template render)�action�defaultr
)�argparse�ArgumentParser�NAME�__doc__�add_argument�str)�parser�r�</usr/lib/python3/dist-packages/cloudinit/cmd/devel/render.py�
get_parsers&��	�rFc
Cs\tt|rtjntj�|r|}n't�}t��}|�d�}|dkr5|�d�}tj	�
|�s4t�d||�|}n|}tj	�
|�sEt�d|�dSzt
|��}|��}Wd�n1sYwYWntyot�d|�YdSwzt||||ryd	nd
d�}	Wnttfy�}
zt�dt|
��WYd}
~
dSd}
~
ww|	s�t�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_datar�instance_data_sensitivez4Missing root-readable %s. Using redacted %s instead.z#Missing instance-data.json file: %s�NzMissing user-data file: %sTF)�payload�
payload_fn�instance_data_file�debugz5Cannot render from instance data due to exception: %sz#Unable to render user-data file: %s)r�LOGr�DEBUG�WARNINGr�os�getuid�get_runpath�path�exists�warning�error�open�read�IOErrorrrr�repr�sys�stdout�write)�user_data_path�instance_data_pathr!�instance_data_fn�paths�uid�redacted_data_fn�streamr�rendered_payload�errr�render_template8s`

��

���

����r<cCst|j|j|j�S�N)r<rrr!)�_name�argsrrr�handle_argsnsr@�__main__r=)NF)rrr%r0�	cloudinitr�cloudinit.cmd.develrr�!cloudinit.handlers.jinja_templaterrrr�	getLoggerr"rr<r@�__name__�exit�
parse_argsrrrr�<module>s


 6�