__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

[email protected]: ~ $
�

���g�q���SSKrSSKrSSKrSSKrSSKrSSKrSSKrSSKJrJ	r	 SSK
Jr SSKJ
r
JrJr SSKJrJrJrJr SSKJr SSKrSSKrSSKJr \\\S	4\S	\\\\\S4r0S
S
_SS_SS
_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_S S!SSSSSS
S"S
SS S!S#.
Er "S$S%5r!"S&S'5r""S(S)5r#g)*�N)�defaultdict�
namedtuple)�StringIO)�AF_INET�AF_INET6�	inet_ntop)�Dict�List�Type�Union)�parse�)�utils�JSON�bond�bridge�dummyzdummy-device�erspan�tunnel�ether�ethernet�gretap�ipgre�ip6gre�loopback�sit�tun�tunnel6�	wireguard�wlan�wifi�wwan�modem�vethzvirtual-ethernet�vlan�vrfz	nm-device)
r%r&�vxlan�ieee80211_radiotap�wifis�	ethernets�bridges�bondsz
nm-devicesz
dummy-devices�modems�vlans�vrfsc�l�\rSrSrS\S\4Sjr//SS4S\S\S\S\S	\4
S
jjr	S\S\4Sjr
S
\S\4SjrS\4Sjr\
S\4Sj5r\
S\4Sj5r\
S\4Sj5r\
S\4Sj5r\
S\4Sj5r\
S\4Sj5r\
S\4Sj5r\
S\4Sj5r\
S\4Sj5rS\S\4SjrSrg)�	Interface�P�ip�returnc�f�[URSS5=n5S:XaUR5$g)zy
Extract the MAC address if it's set inside the JSON data and seems to
have the correct format. Return 'None' otherwise.
�address��N)�len�get�lower)�selfr3r6s   �+/usr/share/netplan/netplan_cli/cli/state.py�
__extract_mac�Interface.__extract_macQs0��
�"�&�&��B�/�/�w�0�B�6��=�=�?�"��)NN�nd_data�nm_data�
resolved_data�
route_datac��
^�URSS5TlURSS5TlSURS/5;aSOSTlURSS5R	5TlTR
U5TlSTlSTl	STl
/Tl0TlU=(d /n[U4S	jU5S5Tl[U4S
jU5S5TlTR(a TR!TR5TlSTlUS(a�/TlUSH�n[%US5[%TR5:XdM*USnUS
nTR"R'[)USR+UV	s/sHo�R-SS5PM sn	555 M� STlUS(aa/TlUSHQn	[%U	S5[%TR5:XdM*TR.R'[1U	S55 MS /n
STlUS(aX�S-
n
US(aX�S-
n
U
(GaA/TlU
GH3nURS5TR:XdM%SURS50nURS5=n
(aX�S'URS5=n
(aX�S'URS5=n
(aX�S'URS5=n
(aX�S'URS5=n
(aX�S'URS5=n
(aX�S'URS5=n
(aX�S'URS5=n
(aX�S'TR2R'U5 GM6 STlURS5=n(Ga�[75nTR2(a�TR2H�nURS5S:XdMURS5S:wdM1URS5[8R::XdMVUR=[>R@"US5RB5 M� /TlUGH�n/n[>RD"US 5RF(aUR'S!5 URS"S#5(aUR'S"5 [>R@"US S$US%35n[IU[>RJ5(asURBU;aUR'S5 TRRS&05R[1U55=n(aUS':XaUR'S(5 TR2(auTR2HenSU;dM[>RD"US5[>RD"US 5:XdMAUSS(:XdMLS(U;dMTUR'S(5  O US RM5nUS)US%00nU(aUUUS'TR4R'U5 GM� STl'URS*05RS+5=n(aURQ5Tl'TRSTR5=(d S,Tl*gs sn	f)-N�ifindex����ifname�unknown�UP�flags�DOWN�	operstatec3�P># �UHoSTR:XdMUv� M g7f)�IndexN)�idx��.0�xr<s  �r=�	<genexpr>�%Interface.__init__.<locals>.<genexpr>is ����K��A�g�J�$�(�(�4J�a�a����&�	&c3�P># �UHoSTR:XdMUv� M g7f)�deviceN��namerQs  �r=rTrUjs ����M��A�h�K�4�9�9�4L�a�a��rVrr�r@�big�dev�to�dst�family�gateway�via�prefsrc�from�metric�type�scope�protocol�table�	addr_info�ra�default�local�link�dynamicF�/�	prefixlen�	addresses�DHCPv6�dhcp�prefix�linkinfo�	info_kindr7)+r:rPrZ�
adminstate�upperrM�_Interface__extract_mac�
macaddressrrr&�members�data_sources�next�nd�nm�_find_data_sources�
dns_addresses�int�appendr�join�to_bytes�
dns_search�str�routesrr�setr�value�add�	ipaddress�ip_interface�network�
ip_address�
is_link_local�
isinstance�IPv6Addressr;�iproute_type�strip�query_networkctl�_networkctl)r<r3rArBrCrD�itr�ipfamily�dns�v�_routes�obj�elem�valrj�ra_networks�route�addrrK�ip_addr�ip_dsrws`                     r=�__init__�Interface.__init__Zs�������y�"�-�������)�4��	�'+�r�v�v�g�r�/B�'B�t���� �f�f�[�)�<�B�B�D���#�1�1�"�5��������	����"$�������-�R���K��K�T�R����M��M�t�T����7�7� $� 7� 7���� @�D��$(������!#�D��$�Q�'���s�1�v�;�#�d�h�h�-�/�"�1�v�H��a�&�C��&�&�-�-�i��#�(�(�jm�Kn�jm�ef�J�J�WX�Z_�L`�jm�Kn�Bo�.p�q�	(�
!%������ �D�O�"�1�%���q��t�9��D�H�H�
�-��O�O�*�*�3�q��t�9�5�&�
�� ����a�=��!�}�$�G��a�=��!�}�$�G���D�K����7�7�5�>�T�Y�Y�.� �#�'�'�%�.�1�D�!�g�g�h�/�/�s�/�),�X��!�g�g�i�0�0�s�0�&)�U��!�g�g�i�0�0�s�0�'*�V��!�g�g�h�/�/�s�/�),�X��!�g�g�f�o�-�s�-�'*�V��!�g�g�g�.�.�s�.�(+�W�
�!�g�g�j�1�1�s�1�+.�Z�(�!�g�g�g�.�.�s�.�(+�W�
��K�K�&�&�t�,�'�* $������{�+�+�9�+��%�K��{�{�!�[�[�E��	�	�*�-��5� %�	�	�$��9� <� %�	�	�(� 3�x�~�~� E�#���	�(>�(>�u�T�{�(K�(S�(S�T�	)� �D�N�!�� ���'�'��W�
�6�D�D��L�L��(��8�8�I�u�-�-��L�L��+�$�0�0�D��M�?�!�D��DU�CV�1W�X���g�y�'<�'<�=�=����+�5����T�*� $� 1� 1� 5� 5�k�2� F� J� J�3�w�<� X�X�u�X� �H�,�!�L�L��0��;�;�!%����"�e�O� )� 4� 4�U�6�]� C�y�G[�G[�\`�ah�\i�Gj� j�$�Z�0�F�:�v�U�?R� %���V� 4� %�"-��w�-�-�-�/���(�D��,=�!>�?���-2�D��M�'�*����%�%�d�+�?"�B"&������z�2�.�2�2�;�?�?�9�?� )��� 1�D��!%� 5� 5�d�i�i� @� F�B����qLos�[#�con_namec	���Sn[R"SSSSSU/5nUR5$![a:n[R
"SR
U[U555 SnAU$SnAff=f)Nz--get-valuesz802-11-wireless.ssid�con�show�idz+Cannot query NetworkManager SSID for {}: {})r�	nmcli_outr��	Exception�logging�warning�formatr�)r<r��ssid�es    r=�
query_nm_ssid�Interface.query_nm_ssid�sx����	/��?�?�N�4J�$)�6�4��$C�D�D��:�:�<����	/��O�O�I�P�P�$�c�!�f�.�
/�
/����	/�s�+0�
A4�/A/�/A4rHc	���Sn[R"SSSU/SS9nU$![a:n[R"SRU[
U555 SnAU$SnAff=f)N�
networkctl�statusz--T��textz"Cannot query networkctl for {}: {})�
subprocess�check_outputr�r�r�r�r�)r<rH�outputr�s    r=r��Interface.query_networkctl�sn����	!��,�,�l�H�d�F�-S�Z^�_�F��
���	!��O�O�@�G�G���A�� �
!�
!��
��	!�s��
A#�/A�A#c�f�URURURS.nUR(aURUS'UR(aURUS'UR
(aUR
US'UR(aURUS'UR(aURUS'UR(aURUS'UR(aURUS'UR(aURUS	'UR(aURUS
'UR(aURUS'UR(aURUS'UR(aURUS
'UR(aURUS'UR (aUR US'UR"(aUR"US'UR$(aUR$US'UR&U4$)N)�indexrxrMrfr��tunnel_mode�backendr�r{�vendorrrr�r�r��activation_moderrr&�
interfaces)rPrxrMrfr�r�r��	netdef_idr{r�rrr�r�r�r�rrr&r|rZ)r<�jsons  r=r��Interface.json�s����X�X��/�/������
�9�9��9�9�D��L��9�9��9�9�D��L����"&�"2�"2�D����<�<�"�l�l�D��O��>�>����D��J��?�?�!%���D����;�;�!�[�[�D��N��>�>� $���D������$(�$6�$6�D��!��?�?�!%���D����;�;�!�[�[�D��N����&*�&:�&:�D�"�#��;�;�!�[�[�D��N��9�9��9�9�D��L��8�8��(�(�D��K��<�<�!%���D����	�	�4� � r@c�L�URS:H=(a URS:H$)NrJ�rxrM�r<s r=�up�Interface.ups�����$�&�A�4�>�>�T�+A�Ar@c�L�URS:H=(a URS:H$)NrLr�r�s r=�down�Interface.downs�����&�(�E�T�^�^�v�-E�Er@c�|�UR(aURRS5OSnUS:XaURRS5nUS:Xa$URRS5=n(aUn[RU5=n(aU$[R"SRU55 g)Nr�none�KindrzUnknown device type: {})rr:�DEVICE_TYPESr�r�r�)r<�nd_type�kind�device_types    r=rf�Interface.types���)-���$�'�'�+�+�f�%�d���f���g�g�k�k�&�)�G��g���w�w�{�{�6�*�*�t�*���&�*�*�7�3�3�;�3������1�8�8��A�B�r@c�^�URS:XaUR(aUR$g)Nr)rfr�r�s r=r��Interface.tunnel_mode(s%���9�9�� �T�%6�%6��$�$�$�r@c��UR(aASURRSS5;a!SURRSS5;agUR(a!SURRSS5;ag	g)
N�	unmanaged�
SetupStater7�run/systemd/network/10-netplan-�NetworkFile�networkd�.run/NetworkManager/system-connections/netplan-�filename�NetworkManager)rr:r�r�s r=r��Interface.backend.sa���G�G��4�7�7�;�;�|�R�#@�@�1�T�W�W�[�[��PR�5S�S��
�W�W�I�T�W�W�[�[�Yc�eg�Mh�h�#�r@c���URS:Xa@URRSS5RS5SRS5S$URS:XGaURRS	S5RS
5SRS5SnURRSS5S
:Xa�URURRS55nX!;aVUR
S5nUVs/sHn[U5PM nnSRU5S-n[R"U5nU(aURSU-5SnU$gs snf)Nr�r�r7r�rz.networkrr�r�r�z
.nmconnectionrfz802-11-wirelessrZ�utf-8�;�-)r�rr:�splitr�r��encoder�r�r
�quote)r<�netdefr��ssid_encoded�b�
ssid_bytes�ssid_nm_escapeds       r=r��Interface.netdef_id8sH���<�<�:�%��7�7�;�;�}�b�1�7�7�1�3�34�6�6;�e�J�6G��K�
K�
�\�\�-�
-��W�W�[�[��R�0�6�6�@�B�BC�E�EJ�U�?�E[�\]�_�F��w�w�{�{�6�2�&�*;�;��)�)�$�'�'�+�+�f�*=�>���%�$(�;�;�w�#7�L�2>�!?�,�Q�#�a�&�,�J�!?�&)�h�h�z�&:�S�&@�O�!�;�;��7�D��#�\�\�#��*�5�a�8�F��M���"@s�E(c��UR(aASUR;a1URS(aURSR5$g)N�Vendor)rr�r�s r=r��Interface.vendorWs:���7�7�x�4�7�7�*�t�w�w�x�/@��7�7�8�$�*�*�,�,�r@c��URS:Xa�URS:Xa+URURR	SS55$UR
R
5H�nUR5nSn[R"X!5=n(dM4URS5nURS5RS5RS5RS	5nU(aUs $Ss $ g)
Nr!r�rZr7z!^Wi-?Fi access point: (.*) \(.*\)r�latin1zunicode-escaper�)
rfr�r�r�r:r��
splitlinesr��re�match�groupr��decode)r<�line�keyr�r�s     r=r��Interface.ssid]s����9�9����|�|�/�/��)�)�$�'�'�+�+�f�b�*A�B�B�
�(�(�3�3�5���z�z�|��:���H�H�S�/�/�5�/� �;�;�q�>�D�
 �;�;�x�0�7�7�8H�I�P�P�QY�Z�a�a�bi�j�D�#'�4�1�T�1�6�r@c�Z�URS:XatURR5HUnUR5nSnUR	U5(dM-U[U5SR5nUS:waUs $Ss $ gURS:XaURSS:XaS$S$g)Nr�zActivation Policy: r�r��autoconnect�no�manual)r�r�r�r��
startswithr9r�)r<r�r��modes    r=r��Interface.activation_modess����<�<�:�%��(�(�3�3�5���z�z�|��+���?�?�3�'�'���C��	�?�0�0�2�D�#'�4�<�4�9�T�9�6���\�\�-�
-�#�w�w�}�5��=�8�G�4�G�r@�datac�v�0nURS/5=n(aQ0US'UHFn[R"[US55n[	UR
5nUSnXrSU'MH URS/5=n(a0US'UHn	U	Sn
U	SnXrSU
'M URS/5=n(a{0US	'UHpn[R"[US55nUS
n[R"[	UR
5SU3-5n
[	U
5nUSnXrS	U'Mr U$)N�DNSr��Address�ConfigSource�
SearchDomains�search�Domain�	Addressesrr�PrefixLengthrp)r:r�r��bytesr�r3)r<r�sourcesrrr�r��addr_str�source�domainsr�domainr3ru�	full_addrs              r=r��Interface._find_data_sources�sV��
�������+�+�9�+��G�E�N� �� �-�-�e�C�	�N�.C�D���t�w�w�<���^�,��+1���x�(�	!��h�h���3�3�7�3� "�G�H��!����)����/��,2��!�&�)�"�����b�1�1�9�1�#%�G�K� ��� �-�-�e�B�y�M�.B�C���N�+��%�2�2�3�t�w�w�<�A�f�X�,�3N�O�	��y�>���N�+��17��$�X�.�
 ��r@)r�rrrxrrr}r�r�rPr�r{r|rZrr�rMr�r&N)�__name__�
__module__�__qualname__�__firstlineno__�dictr�rzr�tupler�r�r�r��property�boolr�r�rfr�r�r�r�r�r�r��__static_attributes__�r@r=r1r1Ps��������24�R�(4�,�yG�4�yG�$�yG�d�yG� %�yG�BG�yG�v	�c�	�c�	��s��s��&!�d�&!�P�B�D�B��B��F�d�F��F���c������S����
��������3����<������
��c����*�
��
��
�#�t�#��#r@r1c��\rSrSrSrSSjr\S\4Sj5r\S\	S\
4Sj5r\S	\S\
4S
j5r\S\
4Sj5r\S\
4Sj5r\S\
4S
j5r\S\
4Sj5r\S\
4Sj5r\S\4Sj5r\S\4Sj5r\S\S\\4Sj5r\S\\SS4Sj5r\S\4Sj5rS\4SjrSrg)�SystemConfigStatei�z,Collects the system's network configuration Nc�^�[R"S5(dv[R"S5(a,[R"S5 [
R"S5 [R"S5 [R"SS/S5 UR5nUR5nU(aU(d,[R"S5 [
R"S5 UR5nUR5upgUR5up�UV
s/sHn
[X�XXU	4Xg45PM sn
UlUR!UR5 URV
s/sHo�R"S:wdMU
PM nn
UR%U5nT(a!['U4S	jUR5S5/nUV
s/sH	o�cMU
PM nn
T(aAU/:Xa;[R"S
R)T55 [
R"S5 SUUR+5S.0UlU(aUROUnUH$n
U
R/5umnX�R,T'M& gs sn
fs sn
fs sn
f)
Nzsystemd-networkd.servicez^'netplan status' depends on networkd, but systemd-networkd.service is masked. Please start it.rz3systemd-networkd.service is not active. Starting...�startTz,Could not query iproute2 or systemd-networkdrLc3�J># �UHoRT:XdMUv� M g7f�NrY)rR�itfrHs  �r=rT�-SystemConfigState.__init__.<locals>.<genexpr>�s����W�-@�c�H�H�PV�DV�c�c�-@�s�#�	#zCould not find interface {}znetplan-global-state)�online�nameservers)r�systemctl_is_active�systemctl_is_maskedr��error�sys�exit�debug�	systemctl�query_iproute2�query_networkd�query_nm�query_routes�query_resolvedr1�interface_list�correlate_members_and_uplinkrM�query_online_stater~r��resolvconf_json�stater�)r<rH�all�iproute2r��nmcli�route4�route6r�r�r'�filtered�online_stater��itf_iterr�s `              r=r��SystemConfigState.__init__�s!����(�(�)C�D�D��(�(�)C�D�D��
�
�1�2�������M�M�O�P��O�O�G�&@�%A�4�H��&�&�(���&�&�(���x��M�M�H�I��H�H�Q�K��
�
����*�*�,���$(�$7�$7�$9�!�
�GO�P�FN�s� )���z�?Z�*0�)9� ;�FN�P���	
�)�)�$�*=�*=�>�$(�#6�#6�R�#6�C�-�-�6�:Q�C�#6��R��.�.�x�8����W�T�-@�-@�W�Y]�^�_�H�%-�B�X�T�D�X��B��h�"�n��M�M�7�>�>�v�F�G��H�H�Q�K�
#�&�#�3�3�5�%�
��
�+.�4�&�&�8���C��(�(�*�K�F�C�!$�J�J�v����9P��S��Cs�%J�0J�J�J
�J
r4c�4�//SS.n[S5nUR5nSU;aSUS'OSU;aSUS'U/UR5-HenURS5(aUS	==UR	5S
S-
ss'URS5(dMOUR	5S
SUS'Mg SSS5 U$!,(df   U$=f![
a9n[R"SR[U555 SnAU$SnAff=f)
N)rrrrz/etc/resolv.confz/# This is /run/systemd/resolve/stub-resolv.conf�stubrz*# This is /run/systemd/resolve/resolv.conf�compat�
nameserverrrrrz!Cannot parse /etc/resolv.conf: {})
�open�readline�	readlinesrr�r�r�r�r�r�)�cls�res�f�	firstliner�r�s      r=r:�!SystemConfigState.resolvconf_json�s
�������
	P��(�)�Q��J�J�L�	�D�	�Q�"(�C��K�A�Y�N�"*�C��K�&�K�!�+�+�-�7�D����|�4�4��K�(�D�J�J�L���,<�<�(����x�0�0�(,�
�
��Q�R�(8��H�
�	8�*��
�*�)��
���	P��O�O�?�F�F�s�1�v�N�O�O��
��	P�s;�C�BC�C�8C�
C�C�C�
D�.D�Dr�c��UH�nUR(dMUR(dM)UR(dM<UR(dMO/nURHCn[	UR55SupVSU;dSUS;dM2UR
U5 ME URVs/sHowRSS5S:XdMUPM nnU(dM�U(dM�UR(dM� g gs snf)NrrKrnr^rlTF)r�rrr�r��list�itemsr�r:)	rLr�r'�
non_local_ipsr�r3�extrarS�default_routess	         r=r9�$SystemConfigState.query_online_state�s����C��v�v�v�#�-�-�-�C�J�J�J�3�;L�;L�;L� "�
��M�M�D� $�T�Z�Z�\� 2�1� 5�I�B��e�+�v�U�7�^�/K�%�,�,�R�0�*�.1�Z�Z�!Z�Z��5�5��t�;L�PY�;Y�!�Z��!Z� �=�^�^��8I�8I�8I�����"[s�5D�D�
cmd_outputc�.�[R"U5$r&�r��loads�rLrXs  r=�process_generic�!SystemConfigState.process_generics���z�z�*�%�%r@c���Sn[R"/SQSS9nURU5nU$![a9n[R
"SR
[U555 SnAU$SnAff=f)N)r3�-d�-jr�Tr�z(Cannot query iproute2 interface data: {})r�r�r]r�r��criticalr�r��rLrr�r�s    r=r2� SystemConfigState.query_iproute2su����	X�$�1�1�2L�7;�=�F��&�&�v�.�D�����	X����G�N�N�s�ST�v�V�W�W����	X���(.�
A1�.A,�,A1c�4�[R"U5S$)N�
InterfacesrZr\s  r=�process_networkd�"SystemConfigState.process_networkds���z�z�*�%�l�3�3r@c���Sn[R"SS/SS9nURU5nU$![a9n[R
"SR
[U555 SnAU$SnAff=f)Nr��--json=shortTr�z(Cannot query networkd interface data: {})r�r�rhr�r�rbr�r�rcs    r=r3� SystemConfigState.query_networkdsy����	X�$�1�1�<��2P�7;�=�F��'�'��/�D�����	X����G�N�N�s�ST�v�V�W�W����	X�rec
���/nUR5HUnURS5nUS(aUSOSnU(dM.URUUSUSUSUSUSS.5 MW U$)	N�:rrr[���)rXrZ�uuidr�rfr�)r�r�r�)rLrXrr�r�r]s      r=�
process_nm�SystemConfigState.process_nm*s{�����)�)�+�D��J�J�s�O�E�#�A�h�%��(�D�C��s����!�!�!�H�!�!�H� %�a��!�!�H�#(��8�
��	,��r@c���Sn[R"/SQ5nURU5nU$![a9n[R
"SR
[U555 SnAU$SnAff=f)N)z-tz-fz*DEVICE,NAME,UUID,FILENAME,TYPE,AUTOCONNECTr�r�z.Cannot query NetworkManager interface data: {})rr�rsr�r�r0r�r�rcs    r=r4�SystemConfigState.query_nm;sr����	[��/�/�+:�;�F��>�>�&�)�D�����	[��M�M�J�Q�Q�RU�VW�RX�Y�Z�Z����	[�s�)/�
A2�.A-�-A2c��SnSn[R"/SQSS9nURU5n[R"/SQSS9nURU5nU(a*UH$nURS[R05 M& U(a*UH$nURS[R05 M& X4$![a8n[R
"SR
[U555 SnAN�SnAff=f)N)r3r`raz-4r�r�rir<Tr�)r3r`raz-6r�r�rir<z$Cannot query iproute2 route data: {}r`)r�r�r]r�r�r0r�r��updaterr�r)rL�data4�data6�output4�output6r�r�s       r=r5�SystemConfigState.query_routesGs�������	Q�%�2�2�3l�8<�>�G��-�-�g�6�E�%�2�2�3l�8<�>�G��-�-�g�6�E�������h��
�
�6�7��������h����7�8���~����	Q��M�M�@�G�G��A��O�P�P��	Q�s�AB;�;
C=�.C8�8C=c��SnSn[R"S5nUc[S5e[R"USSSSSSS	S
S/
SS
9n[
R"U5nURS0/5SnURS05RS5S:XdS5eURS05RS5nURS05RS5S:XdS5eURS05RS5nX4$![a,n[R"S[U55 SnAX4$SnAff=f)N�busctlzmissing busctl utilityrk�callz--systemzorg.freedesktop.resolve1z/org/freedesktop/resolve1zorg.freedesktop.DBus.Properties�GetAll�sz org.freedesktop.resolve1.ManagerTr�rrrrfza(iiay)zDNS address type doesn't match�Domainsza(isb)zDNS search type doesn't matchz"Cannot query resolved DNS data: %s)�shutil�which�RuntimeErrorr�r�r�r[r:r�r�r0r�)rLrrrr�json_outrMr�errs        r=r6� SystemConfigState.query_resolved_sX���	���	J��\�\�(�+�F��~�"�#;�<�<�!�.�.�����+�,�2��3�3����H��*�*�X�&�C��7�7�6�B�4�(��+�D��8�8�E�2�&�*�*�6�2�i�?�b�Ab�b�?������+�/�/��7�I��8�8�I�r�*�.�.�v�6�(�B�d�Dd�d�B��X�X�i��,�0�0��8�F��"�"���	J��M�M�>��C��I�I��"�"��	J�s�D	D�
E� E�ErHc	�T�/nSn[R"SSSSSSU/SS	9n[R"U5nUH#nURURS55 M% U$![a:n[R"S
R[
U555 /sSnA$SnAff=f)zNReturn a list containing the interfaces that are members of a bond/bridge/vrf Nr3r`rarnr��masterTr�zCannot query bridge: {}rH)r�r�r�r�r�r�r�r�r[r�r:)rLrHr|r�r��output_json�members       r=�
query_members�SystemConfigState.query_members}s�������	��,�,��t�T�6�6�8�V�D�4�Q�F��j�j��(��!�F��N�N�6�:�:�h�/�0�"�����	��O�O�5�<�<�S��V�D�E��I��	�s�A#�#
B'�-/B"�B'�"B'c�^	�/SQm	0n[[5n[U	4SjU5HbnURUR5nUH0n[SSS/5nU"URUR5X&'M2 XSUR'Md UH�nURUR5=n(acURS:XaURUlURS:XaURUl	URS:XaURUl
URT	;dM�URUR5=n(dM�XTlM� g	)
z�
Associate interfaces with their members and parent interfaces.
If an interface is a member of a bond/bridge/vrf, identify which interface
if a member of. If an interface has members, identify what are the members.
)rrr&c�">�URT;$r&)rf)�i�uplink_typess �r=�<lambda>�@SystemConfigState.correlate_members_and_uplink.<locals>.<lambda>�s���!�&�&�L�*@r@�MemberrZrfrrr&N)rrR�filterr�rZrrfr:rrr&r|)
rLr��members_to_uplink�uplink_to_members�	interfacer|r��member_tuple�uplinkr�s
         @r=r8�.SystemConfigState.correlate_members_and_uplink�s���1����'��-��� @�*�M�I��'�'�	���7�G�!��)�(�V�V�4D�E��,8�������,X�!�)�"�18�i�n�n�-�N�$�I�*�.�.�y�~�~�>�>�v�>��;�;�(�*�'-�{�{�I�$��;�;�&�(�%+�[�[�I�N��;�;�%�'�$*�K�K�I�M��~�~��-�/�3�3�I�N�N�C�C�7�C�(/�%�$r@c�,�[UR5$r&)r9r7r�s r=�number_of_interfaces�&SystemConfigState.number_of_interfaces�s���4�&�&�'�'r@c��UR$r&)r;r�s r=�get_data�SystemConfigState.get_data�s���z�z�r@)r7r;)NF) rrrr�__doc__r��classmethodrr:rRrr9r�rr]r2rhr3rsr4rr5r6r
r�r1r8rr�r�r�rr r@r=r"r"�s���7�6%�p������.�
�D�
�T�
��
��&��&��&��&���t�����4�T�4��4���t������t���� �	��	��	���U����.�#�u�#��#�:��3��4��9����"�0�d�9�o�0�$�0��0�:�(�c�(��(��$�r@r"c�>�\rSrSrSrS	SjrS\4SjrS\4Sjr	Sr
g)
�NetplanConfigStatei�z-Collects the Netplan's network configuration c�\�[R"5nURU5 [R"5nUR	U5 UR
Ul[
5UlUS:XaURURS9 gURS5(dSRSU45n[R"SU5nUVs/sHoURSS5PM nn[
5nURUS9 [R"XUR5 gs snf)Nr<)�output_filer��.z	(?<!\\)\.z\.)�netplan�Parser�load_yaml_hierarchy�State�import_parser_results�netdefsrr;�
_dump_yamlrr�r�r��replace�_dump_yaml_subtree)r<�subtree�rootdir�parser�np_stater��tmp_ins       r=r��NetplanConfigState.__init__�s������!���"�"�7�+��=�=�?���&�&�v�.��'�'����Z��
��e�����D�J�J��7��%�%�i�0�0��(�(�I�w�#7�8���h�h�|�W�5�G�<C�D�G�D�|�|�E�3�/�G�G�D��Z�F����F��3��&�&�w��
�
�C��	Es�D)r4c�6�URR5$r&)r;�getvaluer�s r=�__str__�NetplanConfigState.__str__�s���z�z�"�"�$�$r@c�^�[R"URR55$r&)�yaml�	safe_loadr;r�r�s r=r��NetplanConfigState.get_data�s���~�~�d�j�j�1�1�3�4�4r@)r�r;N)r<rp)rrrrr�r�r�r�rr�rr r@r=r�r��s#��8�D�2%��%�5�$�5r@r�)$r�r�r�r�r�r�r.�collectionsrr�ior�socketrrr�typingr	r
rr�urllibr
r�r�r7rr�r��floatrrr�r1r"r�r r@r=�<module>r�s���(���	�
��
�/��/�/�*�*������T�#�v�+�
��V��c�3��t�T�$�Z�
O�P��$�
�F�$��h�$��^�$�
�h�	$�
�Z�$�
�h�
$��X�$�
�h�$��
�$�
�8�$�
�h�$�
�8�$��x�$���$��F�$� �G�!$�"��#$�$
��
�!����
��#��
��G$��NV�V�r
I�I�X 5� 5r@

Filemanager

Name Type Size Permission Actions
__init__.cpython-313.pyc File 143 B 0644
core.cpython-313.pyc File 2.77 KB 0644
ovs.cpython-313.pyc File 7.62 KB 0644
sriov.cpython-313.pyc File 22.89 KB 0644
state.cpython-313.pyc File 35.3 KB 0644
state_diff.cpython-313.pyc File 38.25 KB 0644
utils.cpython-313.pyc File 17.91 KB 0644
Filemanager