a '¡Dgw ã@sDddlZddlZddlmZmZe e¡ZGdd„dejj j ƒZ dS)éN)ÚsubpÚutilc@sjeZdZdZdgZgd¢Zddd„Zdd„Zd d „Ze dd œe e d œd d„ƒZ dd„Z dd„Z dd„ZdS)ÚDistroz /etc/mynameZrcctl)z ^{username}::z^{username}:\*:z'^{username}:\*\*\*\*\*\*\*\*\*\*\*\*\*:NcCs t |j¡S)N)rZload_text_fileÚhostname_conf_fn)ÚselfÚfilenameÚdefault©r ú=/usr/lib/python3.9/site-packages/cloudinit/distros/openbsd.pyÚ_read_hostnameszDistro._read_hostnamecCs|d}t |j|¡dS)NÚ )rZ write_filer)rÚhostnamerZcontentr r r Ú_write_hostnameszDistro._write_hostnamecCs dd||gS)NÚusermodz-Gr )rÚ member_nameZ group_namer r r Ú_get_add_member_to_group_cmd"sz#Distro._get_add_member_to_group_cmd)Úrcs)ÚactionÚservicec Gs`|j}d|gd|gd|gd|gd|gd|gd|gd|gdœ}t|ƒt||ƒ}tj|d|d �S) zŒ Perform the requested action on a service. This handles OpenBSD's 'rcctl'. May raise ProcessExecutionError ÚstopÚstartÚenableÚdisableÚrestartÚcheck)rrrrrÚreloadz try-reloadÚstatusT)Zcapturer)Úinit_cmdÚlistr)ÚclsrrrÚ extra_argsrZcmdsÚcmdr r r Úmanage_service%sø zDistro.manage_servicecCs>zt ddd|g¡Wn"ty8t td|¡‚Yn0dS)Nrz-pÚ*zFailed to lock user %s)rÚ ExceptionrZlogexcÚLOG©rÚnamer r r Ú lock_passwd:s  zDistro.lock_passwdcCst d|¡dS)NzDOpenBSD password lock is not reversible, ignoring unlock for user %s)r%Údebugr&r r r Ú unlock_passwdAsýzDistro.unlock_passwdcCsiS)z:Return env vars used in OpenBSD package_command operationsr )rr r r Ú_get_pkg_cmd_environHszDistro._get_pkg_cmd_environ)N)Ú__name__Ú __module__Ú __qualname__rrZ#shadow_empty_locked_passwd_patternsr rrÚ classmethodÚstrr"r(r*r+r r r r r s r) ZloggingZcloudinit.distros.netbsdZ cloudinitrrZ getLoggerr,r%ZdistrosZnetbsdZNetBSDrr r r r Ús