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/netplan/__pycache__/state.cpython-310.pyc
o

ϐxe��@sjddlmZddlZddlmZddlmZmZddlm	Z	m
Z
ddlmZddl
mZGd	d
�d
�ZdS)�)�StringION)�IO�)�ffi�lib)�
NetDefinition�NetDefinitionIterator)�Parser)�_checked_lib_callc@sreZdZdd�Zdd�Zdefdd�Zdd	�Zd
efdd�Z	d5dedefdd�Z
d6dedefdd�Zdefdd�Z
edefdd��Zedefdd��Zedefdd��Zedefdd ��Zedefd!d"��Zedefd#d$��Zedefd%d&��Zedefd'd(��Zedefd)d*��Zedefd+d,��Zedefd-d.��Zedefd/d0��Zedefd1d2��Zedefd3d4��Zd
S)7�StatecCst��|_dS�N)r�netplan_state_new�_ptr��self�r�//usr/lib/python3/dist-packages/netplan/state.py�__init__"szState.__init__cCst�d|j�}t�|�dS)NzNetplanState **)r�newrr�netplan_state_clear)r�refrrr�__del__%sz
State.__del__�	netdef_idcCs(t�|j|�d��}|st��t||�S�N�utf-8)r�netplan_state_get_netdefr�encode�
IndexErrorr)rr�ptrrrr�__getitem__)s
zState.__getitem__cCst�|j�Sr)r�netplan_state_get_netdefs_sizerrrrr�__len__/sz
State.__len__�parsercCsttj|j|j�dSr)r
r�#netplan_state_import_parser_resultsr)rr"rrr�import_parser_results2szState.import_parser_resultsN�filename�rootdircCs>|r|�d�ntj}|r|�d�ntj}ttj|j||�dSr)rr�NULLr
r�netplan_state_write_yaml_filer)rr%r&�name�rootrrr�_write_yaml_file:szState._write_yaml_file�default_filenamecCs4|�d�}|r|�d�ntj}ttj|j||�dSr)rrr'r
r�#netplan_state_update_yaml_hierarchyr)rr,r&r)r*rrr�_update_yaml_hierarchy?s
zState._update_yaml_hierarchy�output_filecCs�t|t�r8tjdd�}ttj|j|�t�|dtj	�}t�|dtj
�t�||�}t�|�|�
|�d��dS|��}ttj|j|�dS)N�netplan_temp_file)r)rr)�
isinstancer�os�memfd_creater
r�netplan_state_dump_yamlr�lseek�SEEK_CUR�SEEK_SET�read�close�write�decode�fileno)rr/�fd�size�datarrr�
_dump_yamlDs

zState._dump_yaml�returncCst�t�t�|j����d�Sr)r�stringr�netplan_backend_name�netplan_state_get_backendrr;rrrr�backendQsz
State.backendcCstdd�t|d�D��S)Ncs��|]}|j|fVqdSr��id��.0�ndrrr�	<genexpr>W��z State.netdefs.<locals>.<genexpr>��dictrrrrr�netdefsU�z
State.netdefscC�tdd�t|d�D��S)NcsrFrrGrIrrrrL[rMz"State.ethernets.<locals>.<genexpr>�	ethernetsrNrrrrrSYrQzState.ethernetscCrR)NcsrFrrGrIrrrrL_rMzState.modems.<locals>.<genexpr>�modemsrNrrrrrT]rQzState.modemscCrR)NcsrFrrGrIrrrrLcrMzState.wifis.<locals>.<genexpr>�wifisrNrrrrrUarQzState.wifiscCrR)NcsrFrrGrIrrrrLgrMzState.vlans.<locals>.<genexpr>�vlansrNrrrrrVerQzState.vlanscCrR)NcsrFrrGrIrrrrLkrMz State.bridges.<locals>.<genexpr>�bridgesrNrrrrrWirQz
State.bridgescCrR)NcsrFrrGrIrrrrLorMzState.bonds.<locals>.<genexpr>�bondsrNrrrrrXmrQzState.bondscCrR)NcsrFrrGrIrrrrLsrMz&State.dummy_devices.<locals>.<genexpr>z
dummy-devicesrNrrrr�
dummy_devicesqrQzState.dummy_devicescCrR)NcsrFrrGrIrrrrLwrMz State.tunnels.<locals>.<genexpr>�tunnelsrNrrrrrZurQz
State.tunnelscCrR)NcsrFrrGrIrrrrL{rMz*State.virtual_ethernets.<locals>.<genexpr>zvirtual-ethernetsrNrrrr�virtual_ethernetsyrQzState.virtual_ethernetscCrR)NcsrFrrGrIrrrrLrMzState.vrfs.<locals>.<genexpr>�vrfsrNrrrrr\}rQz
State.vrfscCrR)NcsrFrrGrIrrrrL�rMz"State.ovs_ports.<locals>.<genexpr>z
_ovs-portsrNrrrr�	ovs_ports�rQzState.ovs_portscCrR)NcsrFrrGrIrrrrL�rMz#State.nm_devices.<locals>.<genexpr>z
nm-devicesrNrrrr�
nm_devices�rQzState.nm_devices)NNr)�__name__�
__module__�__qualname__rr�strrr!r	r$r+r.rr@�propertyrErrPrSrTrUrVrWrXrYrZr[r\r]r^rrrrr!sJ
r)�iorr2�typingr�
_netplan_cffirr�netdefrrr"r	�_utilsr
rrrrr�<module>s