Server IP : 209.38.156.173 / Your IP : 216.73.216.128 [ Web Server : Apache/2.4.52 (Ubuntu) System : Linux lakekumayuhotel 5.15.0-136-generic #147-Ubuntu SMP Sat Mar 15 15:53:30 UTC 2025 x86_64 User : root ( 0) PHP Version : 8.1.2-1ubuntu2.22 Disable Function : NONE Domains : 2 Domains MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /snap/core20/2599/lib/python3/dist-packages/cloudinit/cmd/devel/__pycache__/ |
Upload File : |
U Ӈg� � @ s� d Z ddlZddlZddlZddlZddlmZ ddlmZm Z m Z mZ dZe� j Ze�e�Zddd�Zdd d �Zdd� Zed kr�e�eee� �� �� dS )z,Debug jinja template rendering of user-data.� N)�read_cfg_paths)�JinjaLoadError�JinjaSyntaxParsingException� NotJinjaError�render_jinja_payload_from_fileZrenderc C sR | st jttd�} | jdtdd� | jddtdt� �d� | jdd d ddd � | S )a Build 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_parser s* �� �r Fc C st |r |}nNt � }t�� }|�d�}|dkrT|�d�}tj�|�sXt�d||� |}n|}tj�|�stt�d|� dS z t | ��}|� � }W 5 Q R X W n" tk r� t�d| � Y dS X zt|| ||r�dnd d �} W nx t tfk �r } zt�dt| �� W Y �dS d} ~ X Y n< tk �rL } zt�d | t| �� W Y �dS d} ~ X Y nX | �sdt�d| � dS tj�| � 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 Zinstance_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�IOErrorr r r �reprr r �sys�stdout�write)Zuser_data_pathZinstance_data_pathr Zinstance_data_fn�pathsZuidZredacted_data_fn�streamr Zrendered_payload�er r r �render_template: sb � � ��r, c C s t |j|j|j�S )N)r, r r r )�_name�argsr r r �handle_argsv s r/ �__main__)N)NF)r r Zloggingr r&