o
    x[h   ã                   @   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__)ÚselfÚ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ƒrD| d¡d | d¡ }| d¡}|r<|d	| 7 }|  d
| |¡ qd S )NÚdhcpcdÚYESÚdhcpcd_flagsú Úaddressz	 netmask ÚnetmaskÚmtuz mtu %dÚ	ifconfig_)Údhcp_interfacesÚset_rc_config_valueÚjoinÚinterface_configurationsÚitemsÚ
isinstanceÚdictÚget)r   Údevice_nameÚvÚ
net_configr   r   r   r   Úwrite_config   s   ÿ

€úzRenderer.write_configFc                 C   sF   |s	t  d¡ d S tjg d¢dd� |  ¡ r!tjg d¢dd� d S d S )Nz netbsd generate postcmd disabled)ÚserviceÚnetworkÚrestartT)Úcapture)r"   r   r$   )ÚLOGÚdebugr   r   )r   Úrunr   r   r   Ústart_services   s   
ÿzRenderer.start_servicesc                 C   s   |dkr|   d|¡ d S d S )Nz0.0.0.0Údefaultroute)r   )r   r#   r   Úgatewayr   r   r   Ú	set_route&   s   ÿzRenderer.set_router   )F)Ú__name__Ú
__module__Ú__qualname__r   r!   r)   r,   Ú__classcell__r   r   r
   r   r      s
    
	r   c                 C   s   t  ¡ S r   )r   Ú	is_NetBSD)Útargetr   r   r   Ú	available+   s   r3   r   )ÚloggingÚcloudinit.net.bsdÚ	cloudinitr   r   Ú	getLoggerr-   r&   ÚnetÚbsdÚBSDRendererr   r3   r   r   r   r   Ú<module>   s   
 