
    }fT                         d dl Z d dlZd dlmZmZ  e j
                  e      Z G d dej                  j                  j                        Zy)    N)subputilc                   \    e Zd ZdZdgZddZd Zd Zeddde	d	e	fd
       Z
d Zd Zd Zy)Distroz/etc/mynamercctlNc                 @    t        j                  | j                        S N)r   load_text_filehostname_conf_fn)selffilenamedefaults      ;/usr/lib/python3/dist-packages/cloudinit/distros/openbsd.py_read_hostnamezDistro._read_hostname   s    ""4#8#899    c                 N    |dz   }t        j                  | j                  |       y )N
)r   
write_filer   )r   hostnamer   contents       r   _write_hostnamezDistro._write_hostname   s    T/--w7r   c                     dd||gS )Nusermodz-G )r   member_name
group_names      r   _get_add_member_to_group_cmdz#Distro._get_add_member_to_group_cmd   s    4[99r   )rcsactionservicec          	          | j                   }d|gd|gd|gd|gd|gd|gd|gd|gd}t        |      t        ||         z   }t        j                  |d|	      S )
z
        Perform the requested action on a service. This handles OpenBSD's
        'rcctl'.
        May raise ProcessExecutionError
        stopstartenabledisablerestartcheck)r"   r#   r$   r%   r&   reloadz
try-reloadstatusT)capturer   )init_cmdlistr   )clsr   r    r   
extra_argsr+   cmdscmds           r   manage_servicezDistro.manage_service   s     <<W%w')!7+!7+ '*$g.(	
 8ntDL11yyd44r   c                     	 t        j                   ddd|g       y # t        $ r t        j                  t        d|        w xY w)Nr   z-p*zFailed to lock user %s)r   	Exceptionr   logexcLOGr   names     r   lock_passwdzDistro.lock_passwd0   s?    	IIy$T23 	KK5t<	s	    &Ac                      y r	   r   r7   s     r   unlock_passwdzDistro.unlock_passwd7   s    r   c                     i S )z:Return env vars used in OpenBSD package_command operationsr   )r   s    r   _get_pkg_cmd_environzDistro._get_pkg_cmd_environ:   s    	r   r	   )__name__
__module____qualname__r   r+   r   r   r   classmethodstrr1   r9   r;   r=   r   r   r   r   r      sR    $yH:8: HL 5C 5# 5 5(r   r   )loggingcloudinit.distros.netbsd	cloudinitr   r   	getLoggerr>   r6   distrosnetbsdNetBSDr   r   r   r   <module>rJ      s@   
    g!/Y%%,, /r   