U
    Ó‡g   ã                   @   sN   d dl Z d dl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)Ú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loggingZcloudinit.net.bsdZ	cloudinitr   r   Z	getLoggerr!   r   ZnetZbsdZBSDRendererr   r&   r   r   r   r   Ú<module>   s
   
 