Current File : //usr/share/netplan/netplan_cli/cli/__pycache__/state_diff.cpython-312.pyc |
�
���gˉ � � � d dl mZ d dlZd dlZd dlmZmZ d dlmZ d dl m
Z
d dlmZm
Z
mZ d dlmZmZ G d� d ej$ � Z G d
� d� Zy)� )�defaultdictN)�AF_INET�AF_INET6)�AbstractSet)�NetplanRoute)�SystemConfigState�NetplanConfigState�DEVICE_TYPES)�is_valid_macaddress�route_table_lookupc � � e Zd Zd� Zy)�DiffJSONEncoderc � � t |t � r|j � S t j j | |� S �N)�
isinstancer �to_dict�json�JSONEncoder�default)�self�objs �0/usr/share/netplan/netplan_cli/cli/state_diff.pyr zDiffJSONEncoder.default s3 � ��c�<�(��;�;�=� � ���'�'��c�2�2� N)�__name__�
__module__�__qualname__r � r r r r s � �3r r c � � e Zd ZdZdedefd�Zdefd�Zd+de defd�Z
defd �Zd
e de dedefd�Z
d
ededdfd�Zdedefd�Zdedefd�Zde de fd�Zd
ededdfd�Zd
ededdfd�Zd
ededdfd�Zd
ededdfd�Zdede ddfd�Zd
ededdfd�Zdedefd�Zd
edee fd �Zd!ee d"ee d
edefd#�Zdefd$�Zdeddfd%�Z defd&�Z!d'edefd(�Z"d)e defd*�Z#y),�NetplanDiffStatez�
DiffState is mainly responsible for getting both system's and Netplan's configuration
state, compare them and provide a data-structure containing the differences it found.
�system_state�
netplan_statec �. � || _ || _ i | _ y r )r r! �route_lookup_table_names)r r r! s r �__init__zNetplanDiffState.__init__, s � �(���*���(*��%r �returnc � � di i}| j � }| j � }t t |j � � t |j � � z � }|D ]
}i |d |<