File: //snap/core20/2599/usr/lib/python3/dist-packages/cloudinit/net/__pycache__/eni.cpython-38.pyc
U
Ӈg�S � @ s0 d dl Z d dlZd dlZd dlZd dlZd dlmZ d dlmZ d dl m
Z
mZmZ d dl
mZmZmZ d dlmZ e�e�Zddd d
ddgZd
dddddddgZdddddddddddd d!d"d#d$d%d&d'd(d)d*d+gZd,d-� Zd.d/� Zd>d1d2�Zd3d4� Ze
�d5�d6d7� �Zd8d9� ZG d:d;� d;ej �Z d?d<d=�Z!dS )@� N)�suppress)�Optional)�performance�subp�util)�ParserError�renderer�subnet_is_ipv6)�NetworkStatezpre-up�upzpost-up�downzpre-downz post-downZ
bridge_ageingZbridge_bridgeprioZ bridge_fdZ
bridge_gcinitZbridge_helloZ
bridge_maxageZbridge_maxwaitZ
bridge_stp�address�netmask� broadcast�network�metric�gatewayZpointtopointZmedia�mtuZhostnameZ
leasehoursZ leasetimeZvendorZclientZbootfile�serverZhwaddrZprovider�frameZnetnumZendpointZlocalZttlc
C s� g }ddddddddd d
g
}|� � D ]t\}}|dkr6q$|dkrRd|d |d f }|r$||kr$t|t�rrd
�|�}d|kr�|�dd�}|�d�||�� q$t|�S )Nr
r r r r Zpointopointr Zscope�
dns_search�dns_nameserversz%s/%s�prefix� �_�-� {0} {1})�items�
isinstance�list�join�replace�append�format�sorted)�iface�subnet�contentZ valid_map�key�value� r* �3/usr/lib/python3/dist-packages/cloudinit/net/eni.py�_iface_add_subnetA s0 �
r, c
C s |dkrg S g }dddddddd d
g }ddd
g}ddi}| d
dkrN|� d� | �� D ]�\}}t|t�rx| | rtdnd}|rV||kr�qV|dkr�|r�||krVt�d| d ||� qV||kr�|D ]} |� d�|�||�| �� q�qVt|t�r�d� |�}|� d�|�||�|�� qVt
|�S )Nr �controlZ device_idZdriver�index�inet�mode�name�subnets�type�bridge_pathcost�bridge_portprioZbridge_waitport�mac_address� hwaddress)�bond�bridge�
infiniband�vlanZonZoffr zZNetwork config: ignoring %s device-level mtu:%s because ipv4 subnet-level mtu:%s provided.r r )r"