File: //snap/core20/2669/lib/python3/dist-packages/cloudinit/net/__pycache__/netplan.cpython-38.pyc
U
\h�R � @ s d dl Z d dlZd dlZd dlZd dlZd dlmZ d dlmZm Z m
Z
d dlmZm
Z
mZmZ d dlmZmZmZmZmZmZ d dlmZmZ dZdZe�e�Zd d
� Ze e ed�dd
�Z!dd� Z"ddd�Z#e$e%d�dd�Z&e$e$e%d�dd�Z'e$e$d�dd�Z(G dd� dej)�Z)d dd�Z*dS )!� N)�SpooledTemporaryFile)�Callable�List�Optional)�features�safeyaml�subp�util)�IPV6_DYNAMIC_TYPES�
SYS_CLASS_NET�get_devicelist�renderer�should_add_gateway_onlink_flag�subnet_is_ipv6)�NET_CONFIG_TO_V2�NetworkStatez/etc/netplan/50-cloud-init.yamls4 # This is the initial network config.
# It can be overwritten by cloud-init or console-conf.
network:
version: 2
ethernets:
all-en:
match:
name: "en*"
dhcp4: true
all-eth:
match:
name: "eth*"
dhcp4: true
c s t � fdd�| �� D ��S )Nc 3 s$ | ]\}}|� � �r||fV qd S )N)�
startswith)�.0�key�value��match� �7/usr/lib/python3/dist-packages/cloudinit/net/netplan.py� <genexpr>, s
�z,_get_params_dict_by_match.<locals>.<genexpr>)�dict�items)�configr r r r �_get_params_dict_by_match+ s �r )r �entryr c C s d&dd�}g }g }g }g }| � dg �} | dkr2g } | D �]�}
|
� d�}|�d�rp|dkr`|d7 }|�|d i� q6|tkr�|�d
d i� q6|dkr6d|
� d
� }d|
kr�|d|
� d� 7 }|
� d��r|
� d�d|
d kr�dndd�}
t|
d |��rt�d|
d |� d |
d<