File: //usr/lib/python3/dist-packages/cloudinit/net/__pycache__/eni.cpython-310.pyc
o
�AdAV � @ s� d dl Z d dlZd dlZd dlZd dlmZ d dlmZ d dlm Z m
Z
d dlmZm
Z
mZ d dlmZ e�e�Zg d�Zg d�Zg d �Zd
d� Zdd
� Zddd�Zdd� Zdd� Zdd� Zdd� ZG dd� de
j�Zd dd�Zd!dd�Z dS )"� N)�Optional)�log)�subp�util)�ParserError�renderer�subnet_is_ipv6)�NetworkState)zpre-up�upzpost-up�downzpre-downz post-down)�
bridge_ageing�bridge_bridgeprio� bridge_fd�
bridge_gcinit�bridge_hello�
bridge_maxage�bridge_maxwait�
bridge_stp)�address�netmask� broadcast�network�metric�gateway�pointtopoint�media�mtu�hostname�
leasehours� leasetime�vendor�client�bootfile�server�hwaddr�provider�frame�netnum�endpoint�local�ttlc C s� g }g d�}|� � D ];\}}|dkrq
|dkr!d|d |d f }|rE||v rEt|�tkr2d�|�}d|v r<|�dd�}|�d �||�� q
t|�S )
N)
r r r r r �pointopointr �scope�
dns_search�dns_nameserversr r z%s/%s�prefix� �_�-� {0} {1})�items�type�list�join�replace�append�format�sorted)�iface�subnet�content� valid_map�key�value� rB �3/usr/lib/python3/dist-packages/cloudinit/net/eni.py�_iface_add_subnet@ s
�rD c
C s
|dkrg S g }g d�}g d�}ddi}| d dvr|� d� | �� D ]]\}}t|�tkr5| | r3dnd }|r;||v r<q#|d
krQ|rQ||krPt�d| d ||� q#||v rh|D ]} |� d
�|�||�| �� qWq#t|�tkrsd� |�}|� d
�|�||�|�� q#t
|�S )Nr ) �control� device_id�driver�index�inet�mode�name�subnetsr5 )�bridge_pathcost�bridge_portprio�bridge_waitport�mac_address� hwaddressr5 )�bond�bridge�
infiniband�vlan�on�offr zZNetwork config: ignoring %s device-level mtu:%s because ipv4 subnet-level mtu:%s provided.rK r3 r0 )r9 r4 r5 �bool�LOG�warningr: �getr6 r7 r; )
r<