HEX
Server: LiteSpeed
System: Linux php-prod-1.spaceapp.ru 5.15.0-157-generic #167-Ubuntu SMP Wed Sep 17 21:35:53 UTC 2025 x86_64
User: xnsbb3110 (1041)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //lib/python3/dist-packages/cloudinit/handlers/__pycache__/cloud_config.cpython-310.pyc
o

x[h��@sdddlZddlZddlmZmZmZmZddlmZe�	e
�ZdZdZ
dZdZGdd	�d	ej�ZdS)
�N)�handlers�mergers�safeyaml�util)�
PER_ALWAYSz
Merge-Typez
#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|vr|�|d�|_g|_g|_dS)N�)�version�cloud_config�cloud_config_path)	r�Handler�__init__r�	cloud_buf�	get_ipath�cloud_fn�
file_names�error_file_names)�self�paths�_kwargs�r�A/usr/lib/python3/dist-packages/cloudinit/handlers/cloud_config.pyr
2s
zCloudConfigPartHandler.__init__cCs�|jsdSg}|jr*|�dt|j��|jD]
}|sd}|�d|�q|�d�|jD]}|�t�|���q-|jdurQtdg}|�|�|�t	�
|j��ng}t�|jd�
|�d�dS)Nz# from %s files�?z# %s��
i�)rr�append�lenr�MERGED_PART_SCHEMA_ERROR_PREFIXr�CLOUD_PREFIX�extendr�dumpsr�
write_file�join)r�
file_lines�fn�
error_file�linesrrr�_write_cloud_config;s(



�
z*CloudConfigPartHandler._write_cloud_configc
Cs�d}tdtfD]}|�|d�}|r|}nqt�|�}|dur$td��t�|�}t�|�}g}	|	�|�|	�|�|	sAt�d�}	||	fS)NrzX-%szempty cloud configzdict(replace)+list()+str())	�MERGE_HEADER�getr�	load_yaml�
ValueErrorr�dict_extract_mergers�string_extract_mergersr)
r�payload�headers�merge_header_headers�h�tmp_h�payload_yaml�mergers_yaml�mergers_header�all_mergersrrr�_extract_mergersUs(�




�z'CloudConfigPartHandler._extract_mergerscCsD|��}tj|td�}tj�|�}t�d|�|j	|j
dd�|_
dS)N)�prefixz!Merging by applying json patch %sF)�in_place)�lstripr�strip_prefix_suffix�JSONP_PREFIX�	jsonpatch�	JsonPatch�from_string�LOG�debug�applyr)rr.�patchrrr�_merge_patchns
z#CloudConfigPartHandler._merge_patchcCs:|�||�\}}t�d|�t�|�}|�|j|�|_dS)NzMerging by applying %s)r7r@rAr�	construct�merger)rr.r/r3�
my_mergers�mergerrrr�_merge_partys
z"CloudConfigPartHandler._merge_partcCsg|_d|_dS)N)rr)rrrr�_resets
zCloudConfigPartHandler._resetc	
Cs|tjkr|��dS|tjkr|��|��dSz4|jdus#|js&i|_|tjtkr3|�	|�n|�
||�dD]}|�|d�}q;|j�|�
��WdStyp}z|j�|�
��t�d||�WYd}~dSd}~wty�t�td|�YdSw)N)r�
�	� z2Failed at merging in cloud config part from %s: %sz.Failed at merging in cloud config part from %s)r�
CONTENT_STARTrJ�CONTENT_ENDr'rr�INCLUSION_TYPES_MAPr<rDrI�replacer�stripr+rr@�warning�	Exceptionr�logexc)	r�data�ctype�filenamer.�	frequencyr/�i�errrrr�handle_part�s:

��
��z"CloudConfigPartHandler.handle_partN)
�__name__�
__module__�__qualname__rr<�prefixesr
r'r7rDrIrJr\rrrrr-s	r)�loggingr=�	cloudinitrrrr�cloudinit.settingsr�	getLoggerr]r@r(rr<rrrrrrr�<module>s