관리-도구
편집 파일: renderer.cpython-39.pyc
a '�Dg� � @ sb d dl Z d dlZd dlmZ d dlmZ d dlmZ dd� Zdd� Z ed �Z G d d� de j�ZdS )� N)�Optional)�NetworkState)�generate_udev_rulec s � fdd�S )Nc s � | d kS )N�type� ��iface�Z match_typer �:/usr/lib/python3.9/site-packages/cloudinit/net/renderer.py�<lambda> � z filter_by_type.<locals>.<lambda>r r r r r �filter_by_type s r c s � fdd�S )Nc s � | v o| � S �Nr r �Z match_namer r r r z filter_by_attr.<locals>.<lambda>r r r r r �filter_by_attr s r Zphysicalc @ sF e Zd Zd dd�Zeed�dd��Zejdee e dd�dd ��ZdS )�RendererNc C s d S r r )�selfZconfigr r r �__init__ s zRenderer.__init__)� network_statec C sZ t �� }| �t�D ]>}d|v r|�d�r|�dd�}|�t|d |d |d�� q|�� S )z2Given state, emit udev rules to map mac to ifname.�nameZmac_address�driverN)r )�io�StringIOZiter_interfaces�filter_by_physical�get�writer �getvalue)r Zcontentr r r r r �_render_persistent_net s ��zRenderer._render_persistent_net)r � templates�returnc C s dS )zRender network state.Nr )r r r �targetr r r �render_network_state0 s zRenderer.render_network_state)N)NN)�__name__� __module__�__qualname__r �staticmethodr r �abc�abstractmethodr �dictr! r r r r r s ��r ) r&