File: //usr/lib/python3.9/site-packages/cloudinit/net/__pycache__/eni.cpython-39.pyc
a
'�Dg�S � @ s� d dl Z d dlZd dlZd dlZd dlZd dlmZ d dlmZ d dl m
Z
mZmZ d dl
mZmZmZ d dlmZ e�e�Zg d�Zg d�Zg d �Zd
d� Zdd
� Zddd�Zdd� Ze
�d�dd� �Zdd� ZG dd� dej �Z ddd�Z!dS )� N)�suppress)�Optional)�performance�subp�util)�ParserError�renderer�subnet_is_ipv6)�NetworkState)zpre-up�upzpost-up�downzpre-downz post-down)Z
bridge_ageingZbridge_bridgeprioZ bridge_fdZ
bridge_gcinitZbridge_helloZ
bridge_maxageZbridge_maxwaitZ
bridge_stp)�address�netmask� broadcast�network�metric�gatewayZpointtopointZmedia�mtu�hostnameZ
leasehoursZ leasetimeZvendorZclientZbootfile�serverZhwaddrZprovider�frameZnetnumZendpoint�localZttlc C s� g }g d�}|� � D ]t\}}|dkr&q|dkrBd|d |d f }|r||v rt|t�rbd�|�}d|v rv|�dd�}|�d �||�� qt|�S )
N)
r
r r r r Zpointopointr Zscope�
dns_search�dns_nameserversr r
z%s/%s�prefix� �_�-� {0} {1})�items�
isinstance�list�join�replace�append�format�sorted)�iface�subnet�contentZ valid_map�key�value� r, �5/usr/lib/python3.9/site-packages/cloudinit/net/eni.py�_iface_add_subnetA s
r. c
C s |dkrg S g }g d�}g d�}ddi}| d dvr>|� d� | �� D ]�\}}t|t�rh| | rddnd }|rF||v rvqF|d
kr�|r�||krFt�d| d ||� qF||v r�|D ]} |� d
�|�||�| �� q�qFt|t�r�d� |�}|� d
�|�||�|�� qFt
|�S )Nr ) �controlZ device_idZdriver�index�inet�mode�name�subnets�type)�bridge_pathcost�bridge_portprioZbridge_waitport�mac_address� hwaddressr5 )�bond�bridge�
infiniband�vlanZonZoffr zZNetwork config: ignoring %s device-level mtu:%s because ipv4 subnet-level mtu:%s provided.r3 r r )r$ r r �bool�LOGZwarningr% �getr! r"