
    ܍~c                         d dl Z d dlZd dlmZ d dlmZmZ  ej        e          Z	 G d dej
        j        j                  ZddZdS )    N)log)subputilc                   "    e Zd Zd ZddZd ZdS )Rendererc                    | j                                         D ]\  }}d                    |          }t          j        | j        |          }||                                 v rd}nt          |t                    rt	 d                    |d         |d                   }n+# t          $ r t                              d|           Y nw xY w|                    d          }|r|d	|z  z  }|d
z  }t          j        ||           d S )Nzetc/hostname.{}zdhcp
zinet {address} {netmask}addressnetmask)r	   r
   z#Invalid static configuration for %smtuz mtu %d
)interface_configurationsitemsformatr   target_pathtargetdhcp_interfaces
isinstancedictKeyErrorLOGerrorgetr   
write_file)selfdevice_namevif_filefncontentr   s          7/usr/lib/python3/dist-packages/cloudinit/net/openbsd.pywrite_configzRenderer.write_config   s;   ";AACC 	) 	)NK'..{;;G!$+w77Bd224444"At$$  8?? !)a	l @  GG     II={     eeEll /y3.G4OB((((%	) 	)s   =#B!!%C	C	Fc                 L   t          t          t          j                                        d          d                   dk              }| j        st                              d           d S |rKt          j        ddgd           | 	                                D ]}t          j        d	d
d|gd           d S t          j        ddgdddg           t          j        g ddddg           t          j        g ddddg           t          j        ddgd           d S )N.r      z!openbsd generate postcmd disabledshz/etc/netstartT)capturedhcpleasectlz-w30pkilldhclient   )r&   rcs)routedeldefault)r-   flushr/   )
boolintplatformreleasesplit	_postcmdsr   debugr   r   )r   runhas_dhcpleasectl	interfaces       r    start_serviceszRenderer.start_services"   sT   H$4$6$6$<$<S$A$A!$D E E IJJ~ 	II9:::F 
	=It_-t<<<<!1133  		#T4;T     
 Iw
+T1vFFFFI1114aVLLLLI333T1vNNNNIt_-t<<<<<<    c                     |dk    r8d}t          j        | j        |          }|dz   }t          j        ||           d S d S )Nz0.0.0.0z
etc/mygater   )r   r   r   r   r   )r   networkr
   gatewayr   r   r   s          r    	set_routezRenderer.set_route3   sO    i"G!$+w77BnGOB(((((	  r<   N)F)__name__
__module____qualname__r!   r;   r@    r<   r    r   r      sF        ) ) )*= = = =") ) ) ) )r<   r   c                 (    t          j                    S N)r   
is_OpenBSD)r   s    r    	availablerH   ;   s    ?r<   rF   )r3   cloudinit.net.bsd	cloudinitr   loggingr   r   	getLoggerrA   r   netbsdBSDRendererr   rH   rD   r<   r    <module>rP      s         $ $ $ $ $ $                g!!,) ,) ,) ,) ,)y} , ,) ,) ,)^     r<   