509318396
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
3
\¼meß	  ã               @   sZ   d dl Z d dlZd dlZd dlmZmZmZ e jeƒZ	G dd„ dejj
jƒZddd„ZdS )é    N)ÚnetÚsubpÚutilc               @   s&   e Zd Zdd„ Zd	dd„Zdd„ ZdS )
ÚRendererc             C   sÀ   xº| j jƒ D ]¬\}}dj|ƒ}tj| j|ƒ}|| jƒ kr>d}nnt|tƒr¬ydj|d |d d�}W n  t	k
r‚   t
jd|ƒ Y nX |jdƒ}|rž|d	| 7 }|d
| j 7 }tj||ƒ qW d S )Nzetc/hostname.{}zdhcp
zinet {address} {netmask}ÚaddressÚnetmask)r   r   z#Invalid static configuration for %sÚmtuz mtu %dÚ
)Zinterface_configurationsÚitemsÚformatr   Útarget_pathÚtargetÚdhcp_interfacesÚ
isinstanceÚdictÚKeyErrorÚLOGÚerrorÚgetÚinterface_routesr   Ú
write_file)ÚselfZdevice_nameÚvÚif_fileÚfnÚcontentr   © r   ú/usr/lib/python3.6/openbsd.pyÚwrite_config   s"    


zRenderer.write_configFc             C   sÈ   t ttjƒ jdƒd ƒdkƒ}| js2tjdƒ d S |rrtjddgdd� xz| j	ƒ D ]}tjd	d
d|gdd� qRW nRt
jjjƒ  tjdddgdddgd� tjdddgdddgd� tjddgdd� d S )NÚ.r   é   z!openbsd generate postcmd disabledZshz/etc/netstartT)ÚcaptureZdhcpleasectlz-wZ30ZrouteÚdelÚdefaulté   )r!   ÚrcsÚflush)ÚboolÚintÚplatformÚreleaseÚsplitZ	_postcmdsr   Údebugr   r   r   ZdhcpZIscDhclientZkill_dhcp_client)r   ZrunZhas_dhcpleasectlZ	interfacer   r   r   Ústart_services"   s    
zRenderer.start_servicesc             C   sX   |dkr0d}t j| j|ƒ}|d }tj||ƒ n$| jd | d | d | d | _d S )Nz0.0.0.0z
etc/mygater	   z!route add z
 -netmask ú )r   r   r   r   r   r   )r   Znetworkr   Zgatewayr   r   r   r   r   r   Ú	set_route3   s    
zRenderer.set_routeN)F)Ú__name__Ú
__module__Ú__qualname__r   r-   r/   r   r   r   r   r      s   
r   c             C   s   t jƒ S )N)r   Z
is_OpenBSD)r   r   r   r   Ú	availableF   s    r3   )N)Zloggingr)   Zcloudinit.net.bsdZ	cloudinitr   r   r   Z	getLoggerr0   r   ZbsdZBSDRendererr   r3   r   r   r   r   Ú<module>   s   
: