U
    L¬÷dµ  ã                   @   sR   d dl Zd dlmZ d dlmZmZ e e¡ZG dd„ dej	j
jƒZddd„ZdS )	é    N)Úlog)ÚsubpÚutilc                       s8   e Zd Zd‡ fdd„	Zdd„ Zddd„Zd	d
„ Z‡  ZS )ÚRendererNc                    s   t t| ƒ ¡  d S ©N)Úsuperr   Ú__init__)ÚselfZconfig©Ú	__class__© ú6/usr/lib/python3/dist-packages/cloudinit/net/netbsd.pyr      s    zRenderer.__init__c                 C   sŽ   |   ¡ r*|  dd¡ |  dd |   ¡ ¡¡ | j ¡ D ]T\}}t|tƒr4| d¡d | d¡ }| d¡}|rx|d	| 7 }|  d
| |¡ q4d S )NÚdhcpcdZYESZdhcpcd_flagsú Zaddressz	 netmask ÚnetmaskÚmtuz mtu %dZ	ifconfig_)Údhcp_interfacesÚset_rc_config_valueÚjoinZinterface_configurationsÚitemsÚ
isinstanceÚdictÚget)r	   Zdevice_nameÚvZ
net_configr   r   r   r   Úwrite_config   s     ÿ

zRenderer.write_configFc                 C   sF   |st  d¡ d S tjdddgdd |  ¡ rBtjdddgdd d S )Nz netbsd generate postcmd disabledÚserviceÚnetworkZrestartT)Zcapturer   )ÚLOGÚdebugr   r   )r	   Úrunr   r   r   Ústart_services   s    
zRenderer.start_servicesc                 C   s   |dkr|   d|¡ d S )Nz0.0.0.0Zdefaultroute)r   )r	   r   r   Zgatewayr   r   r   Ú	set_route%   s    zRenderer.set_route)N)F)Ú__name__Ú
__module__Ú__qualname__r   r   r    r!   Ú__classcell__r   r   r
   r   r   
   s   
	r   c                 C   s   t  ¡ S r   )r   Z	is_NetBSD)Útargetr   r   r   Ú	available*   s    r'   )N)Zcloudinit.net.bsdZ	cloudinitr   Zloggingr   r   Z	getLoggerr"   r   ZnetZbsdZBSDRendererr   r'   r   r   r   r   Ú<module>   s
   
 