
    x[h	                         S SK r S SKrS SKrS SKJrJrJr  \ R                  " \5      r	 " S S\R                  R                  R                  5      rSS jrg)    N)netsubputilc                   .    \ rS rSrSS jrSS jrS rSrg)	Renderer   Nc                    U R                   R                  5        H  u  p#SR                  U5      n[        R                  " U R
                  U5      nX R                  5       ;   a  SnO^[        U[        5      (       aI   SR                  US   US   S9nUR                  S5      nU(       a  WS	U-  -  nWS
U R                  -   -  n[        R                  " UW5        M     g ! [         a    [        R                  SU5         Npf = f)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getinterface_routesr   
write_file)selfr   device_namevif_filefncontentr   s           7/usr/lib/python3/dist-packages/cloudinit/net/openbsd.pywrite_configRenderer.write_config   s    ";;AACNK'..{;G!!$++w7B2244"At$$8?? !)a	l @ G eeElzC//G4$"7"777OOB(% D   II={s   >C"" DDc                 N   [        [        [        R                  " 5       R	                  S5      S   5      S:  5      nU R
                  (       d  [        R                  S5        g U(       aH  [        R                  " SS/SS9  U R                  5        H  n[        R                  " S	S
SU/SS9  M     g [        R                  R                  R                  5         [        R                  " / SQSSS/S9  [        R                  " / SQSSS/S9  [        R                  " SS/SS9  g )N.r      z!openbsd generate postcmd disabledshz/etc/netstartT)capturedhcpleasectlz-w30)routedeldefault   )r)   rcs)r,   flushr.   )boolintplatformreleasesplit	_postcmdsr   debugr   r   r   dhcpIscDhclientkill_dhcp_client)r   runhas_dhcpleasectl	interfaces       r"   start_servicesRenderer.start_services"   s    H$4$4$6$<$<S$A!$D E IJ~~II9:IIt_-t<!113			#T4;T 4
 HH  113II14aVLII3T1vNIIt_-t<    c                     US:X  a?  Sn[         R                  " U R                  U5      nUS-   n[        R                  " XV5        g U R
                  S-   U-   S-   U-   S-   U-   S-   U l        g )Nz0.0.0.0z
etc/mygater   z!route add z
 -netmask  )r   r   r   r   r   r   )r   networkr   gatewayr   r    r!   s          r"   	set_routeRenderer.set_route3   s    i"G!!$++w7BnGOOB( %%   	
    !rA   )r   N)F)__name__
__module____qualname____firstlineno__r#   r?   rF   __static_attributes__ rA   r"   r   r      s    )*="rA   r   c                 ,    [         R                  " 5       $ rH   )r   
is_OpenBSD)r   s    r"   	availablerQ   F   s    ??rA   rH   )loggingr4   cloudinit.net.bsd	cloudinitr   r   r   	getLoggerrI   r   bsdBSDRendererr   rQ   rN   rA   r"   <module>rX      sH       % %!7y}}  ,, 7trA   