HEX
Server: Apache/2.4.67 (Debian)
System: Linux vps-b2547eb4 6.1.0-41-cloud-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.158-1 (2025-11-09) x86_64
User: root (0)
PHP: 8.2.31
Disabled: NONE
Upload Files
File: //usr/share/netplan/netplan/__pycache__/configmanager.cpython-311.pyc
�

���c����dZddlZddlZddlZddlZddlZddlmZddlm	Z	Gd�de
��ZGd�de��Z
dS)	znetplan configuration manager�N)�Optional)�
libnetplanc��eZdZdifd�Zd�Zed���Zed���Zdd�Zd�Z	dd
�Z
d�Zd�Zd
�Z
d�Zdd�ZdS)�
ConfigManager�/c�2�||_tjd���|_tj�|jd��|_tj�|jd��|_||_	t��|_d|_dS)N�netplan_)�prefix�etc�run)
r
�tempfile�mkdtemp�tempdir�os�path�join�temp_etc�temp_run�extra_files�set�new_interfaces�np_state)�selfr
rs   �+/usr/share/netplan/netplan/configmanager.py�__init__zConfigManager.__init__ so������'�z�:�:�:�������T�\�5�9�9��
�����T�\�5�9�9��
�&���!�e�e���48��
�
�
�c�N�|j�
Jd���t|j|��S�Nz.Must call parse() before accessing the config.)r�getattr)r�attrs  r�__getattr__zConfigManager.__getattr__)s+���}�(�(�*Z�(�(�(��t�}�d�+�+�+rc���|j�
Jd���i}|�|jj��|�|jj��|�|jj��|Sr)r�update�	ethernets�modems�wifis�r�
interfacess  r�physical_interfacesz!ConfigManager.physical_interfaces-so���}�(�(�*Z�(�(�(��
����$�-�1�2�2�2����$�-�.�/�/�/����$�-�-�.�.�.��rc�b�|j�
Jd���i}|�|jj��|�|jj��|�|jj��|�|jj��|�|jj��|Sr)rr#�bridges�bonds�tunnels�vlans�vrfsr's  r�virtual_interfacesz ConfigManager.virtual_interfaces6s����}�(�(�*Z�(�(�(��
����$�-�/�0�0�0����$�-�-�.�.�.����$�-�/�0�0�0����$�-�-�.�.�.����$�-�,�-�-�-��rNc��tj��}	|�|j���|r|D]}|�|���tj��|_|j�|��n%#tj$r}t|j
��d}~wwxYw|j���|jS)z�
        Parse all our config files to return an object that describes the system's
        entire configuration, so that it can later be interrogated.

        Returns a libnetplan State wrapper
        )�rootdirN)r�Parser�load_yaml_hierarchyr
�	load_yaml�Stater�import_parser_results�LibNetplanException�ConfigurationError�args�dump_to_logs)r�extra_config�parser�f�es     r�parsezConfigManager.parseBs����"�$�$��
	.��&�&�t�{�&�;�;�;��
(�%�(�(�A��$�$�Q�'�'�'�'�&�,�.�.�D�M��M�/�/��7�7�7�7���-�	.�	.�	.�$�a�f�-�-�����	.����	
�
�"�"�$�$�$��}�s�A)A?�?B!�B�B!c��|D]}|�|||���|j�|��d|_dS�N)�
_copy_filerr#r)r�config_dict�config_files   r�addzConfigManager.add[sS��&�	C�	C�K��O�O�K��[�)A�B�B�B�B������,�,�,���
�
�
rTc�>�|r\|�tj�|jd��tj�|jd����|�tj�|jd��tj�|jdd��d���|�tj�|jd��tj�|jd	d
��d���dS)Nzetc/netplan�netplan�%run/NetworkManager/system-connections�NetworkManagerzsystem-connectionsT)�
missing_ok�run/systemd/network�systemd�network)�
_copy_treerrrr
rr)r�backup_config_dirs  r�backupzConfigManager.backupcs����	D��O�O�B�G�L�L���m�D�D��G�L�L���	�B�B�
D�
D�
D��������T�[�2Y�Z�Z�����T�]�4D�FZ�[�[�#'�	�	)�	)�	)�	
�������T�[�2G�H�H�����T�]�I�y�I�I�#'�	�	)�	)�	)�	)�	)rc��	t|j��D])}tj|j|��|j|=�*d�|j��}d�|j��}tj�|��rptj	tj�
|jd����|�|tj�
|jd����tj�|��rrtj	tj�
|jd����|�|tj�
|jd����dSdS#t$rZ}tjd�|����tjd��t!jd��Yd}~dSd}~wwxYw)Nz${}/NetworkManager/system-connectionsz{}/systemd/networkrIrLz8Something really bad happened while reverting config: {}zZYou should verify the netplan YAML in /etc/netplan and probably run 'netplan apply' again.���)�dictrr�unlink�formatrr�exists�shutil�rmtreerr
rO�	Exception�logging�error�sys�exit)r�
extra_file�temp_nm_path�temp_networkd_pathr?s     r�revertzConfigManager.revertns���	�"�4�#3�4�4�
1�
1�
��	�$�*�:�6�7�7�7��$�Z�0�0�A�H�H���W�W�L�!5�!<�!<�T�]�!K�!K���w�~�~�l�+�+�
d��
�b�g�l�l�4�;�8_�`�`�a�a�a����� "����T�[�:a� b� b�d�d�d��w�~�~�0�1�1�
R��
�b�g�l�l�4�;�8M�N�N�O�O�O���� 2� "����T�[�:O� P� P�R�R�R�R�R�
R�
R���		�		�		�
�M�T�[�[�\]�^�^�_�_�_��M�v�w�w�w��H�R�L�L�L�L�L�L�L�L�L�����		���s�FF�
G:� AG5�5G:c�8�tj|j��dSrB)rXrYr�rs r�cleanupzConfigManager.cleanup�s���
�d�l�#�#�#�#�#rc�R�	|���dS#t$rYdSwxYwrB)re�FileNotFoundErrorrds r�__del__zConfigManager.__del__�s:��	��L�L�N�N�N�N�N�� �	�	�	��D�D�	���s��
&�&c�0�tj||��dSrB)rX�copy)r�src�dsts   rrCzConfigManager._copy_file�s����C������rFc�Z�	tj||��dS#t$r|rYdS�wxYwrB)rX�copytreerg)rrkrlrKs    rrOzConfigManager._copy_tree�sL��	��O�C��%�%�%�%�%�� �	�	�	��
�����		���s��*�*rB)T)F)�__name__�
__module__�__qualname__rr!�propertyr)r0r@rFrQrbrerhrCrO�rrrrs�������!�r�9�9�9�9�,�,�,�����X���	�	��X�	�����2���	)�	)�	)�	)����4$�$�$������������rrc��eZdZdZdS)r9zL
    Configuration could not be parsed or has otherwise failed to apply
    N)rorprq�__doc__rsrrr9r9�s��������	�Drr9)rur[rrXr]r
�typingrrHr�objectrrZr9rsrr�<module>rxs���$$�#�����	�	�	�	�
�
�
�
�
�
�
�
�����������������}�}�}�}�}�F�}�}�}�@	�	�	�	�	��	�	�	�	�	r