�
�f + � �� � d dl Z d dlZd dlZd dlmZmZmZ d dlmZ ej e
� ZeZ
eZ G d� de j �� Z G d� de� Z G d � d
e� Z G d� de� Zy)
� N)�net�subp�util)�ifconfigc � � e Zd ZdZdefd�Zdd�deddfd�Zej de
ddfd �� Zd
efd�Z
d
efd�Zde
defd
�Zd� Zdd�defd�Zdefd�Zdefd�Zd
edefd�Zd
efd�Zdefd�Zdefd�Zd
efd�Zdd�d
ededefd�Zd
edefd�Zd
edefd�Zej d
edefd �� Zd
edefd!�Zd
edefd"�Zd
edefd#�Z d
edefd$�Z!ej dd%�d*d&�� Z"d'd�de
deddfd(�Z#ej d
edefd)�� Z$y)+�
Networkinga The root of the Networking hierarchy in cloud-init.
This is part of an ongoing refactor in the cloud-init codebase, for more
details see "``cloudinit.net`` -> ``cloudinit.distros.networking``
Hierarchy" in CONTRIBUTING.rst for full details.
�returnc �* � t j � S �N)r �_get_current_rename_info��selfs �>/usr/lib/python3/dist-packages/cloudinit/distros/networking.pyr z#Networking._get_current_rename_info s � ��+�+�-�-� N��current_info�renamesc �0 � t j ||�� S )Nr )r �_rename_interfaces)r r r s r r zNetworking._rename_interfaces s � ��%�%�g�L�I�Ir �netcfgc � � y)z7Read the network config and rename devices accordingly.N� �r r s r �apply_network_config_namesz%Networking.apply_network_config_names � � r �devnamec �, � t j |� S r )r �device_devid�r r s r r zNetworking.device_devid# s � �����(�(r c �, � t j |� S r )r �
device_driverr s r r! zNetworking.device_driver& |