HEX
Server: Apache
System: Linux scp1.abinfocom.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: confeduphaar (1010)
PHP: 8.1.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //lib/python3/dist-packages/cloudinit/handlers/__pycache__/cloud_config.cpython-38.pyc
U

Ӈg��@snddlZddlZddlmZmZmZmZddlmZe�	e
�ZdZe�
d�ZdZdZdZGd	d
�d
ej�ZdS)�N)�handlers�mergers�safeyaml�util)�
PER_ALWAYSz
Merge-Typezdict(replace)+list()+str()z
#cloud-configz#cloud-config-jsonpz*# Cloud-config part ignored SCHEMA_ERROR: c@sLeZdZeegZdd�Zdd�Zdd�Zdd�Z	d	d
�Z
dd�Zd
d�ZdS)�CloudConfigPartHandlercKsLtjj|tdd�d|_|�d�|_d|kr<|�|d�|_g|_g|_dS)N�)�versionZcloud_configZcloud_config_path)	r�Handler�__init__r�	cloud_bufZ	get_ipath�cloud_fn�
file_names�error_file_names)�self�pathsZ_kwargs�r�A/usr/lib/python3/dist-packages/cloudinit/handlers/cloud_config.pyr3szCloudConfigPartHandler.__init__cCs�|js
dSg}|jrT|�dt|j��|jD]}|s:d}|�d|�q.|�d�|jD]}|�t�|���qZ|jdk	r�tdg}|�|�|�t	�
|j��ng}t�|jd�
|�d�dS)Nz# from %s files�?z# %s��
i�)r
r�append�lenr�MERGED_PART_SCHEMA_ERROR_PREFIXr�CLOUD_PREFIX�extendr�dumpsrZ
write_file�join)rZ
file_lines�fnZ
error_file�linesrrr�_write_cloud_config<s(



�
z*CloudConfigPartHandler._write_cloud_configc
Cs�d}tdtfD]}|�|d�}|r|}q.qt�|�}|dkrHtd��t�|�}t�|�}g}	|	�|�|	�|�|	s|t	}	||	fS)NrzX-%szempty cloud config)
�MERGE_HEADER�getrZ	load_yaml�
ValueErrorrZdict_extract_mergers�string_extract_mergersr�DEF_MERGERS)
r�payload�headersZmerge_header_headers�hZtmp_h�payload_yamlZmergers_yamlZmergers_headerZall_mergersrrr�_extract_mergersVs"




z'CloudConfigPartHandler._extract_mergerscCsD|��}tj|td�}tj�|�}t�d|�|j	|j
dd�|_
dS)N)�prefixz!Merging by applying json patch %sF)Zin_place)�lstriprZstrip_prefix_suffix�JSONP_PREFIX�	jsonpatchZ	JsonPatchZfrom_string�LOG�debugZapplyr)rr&Zpatchrrr�_merge_patchms
z#CloudConfigPartHandler._merge_patchcCs:|�||�\}}t�d|�t�|�}|�|j|�|_dS)NzMerging by applying %s)r*r/r0rZ	construct�merger)rr&r'r)Z
my_mergersZmergerrrr�_merge_partxs
z"CloudConfigPartHandler._merge_partcCsg|_d|_dS)N)rr)rrrr�_reset~szCloudConfigPartHandler._resetc	
Cs|tjkr|��dS|tjkr4|��|��dSzf|jdksF|jsLi|_|tjtkrf|�	|�n|�
||�dD]}|�|d�}qv|j�|�
��Wn`tk
r�}z"|j�|�
��t�d||�W5d}~XYn"tk
r�t�td|�YnXdS)N)r�
�	� z2Failed at merging in cloud config part from %s: %sz.Failed at merging in cloud config part from %s)rZ
CONTENT_STARTr4ZCONTENT_ENDr rrZINCLUSION_TYPES_MAPr-r1r3�replacer�stripr#rr/Zwarning�	ExceptionrZlogexc)	r�dataZctype�filenamer&Z	frequencyr'�i�errrrr�handle_part�s:

��z"CloudConfigPartHandler.handle_partN)
�__name__�
__module__�__qualname__rr-�prefixesrr r*r1r3r4r?rrrrr.s	r)Zloggingr.Z	cloudinitrrrrZcloudinit.settingsrZ	getLoggerr@r/r!r$r%rr-rr
rrrrr�<module>s