Your IP : 216.73.217.13


Current Path : /proc/thread-self/root/lib/python3/dist-packages/cloudinit/distros/__pycache__/
Upload File :
Current File : //proc/thread-self/root/lib/python3/dist-packages/cloudinit/distros/__pycache__/bsd.cpython-38.pyc

U

�Ad��@s�ddlZddlmZmZddlmZmZddlmZddlm	Z	m
Z
mZddlm
Z
ddlmZe�e�ZGdd	�d	ej�ZdS)
�N)�List�Optional)�distros�helpers)�log)�net�subp�util)�	bsd_utils)�
BSDNetworkingcseZdZUeZdZdZdZdddd�ZgZ	e
eed<gZ
e
eed<gZe
eed	<d
Zee
eed<d
Zee
eed<�fd
d�Zdd�Zd(dd�Zdd�Zdd�Zd)dd�Zdd�Zdd�Zdd�Zd*dd �Zd!d"�Zd+d#d$�Zeed%�d&d'�Z �Z!S),�BSD�/etc/rc.confz
root:wheelz-Hz-pz-r)ZhaltZpoweroffZreboot�group_add_cmd_prefix�pkg_cmd_install_prefix�pkg_cmd_remove_prefixN�pkg_cmd_update_prefix�pkg_cmd_upgrade_prefixcs6t��|||�t�|�|_d|d<t����|_dS)NZsshdZssh_svcname)	�super�__init__rZRunnersZ_runner�platform�system�lowerZosfamily)�self�nameZcfg�paths��	__class__��7/usr/lib/python3/dist-packages/cloudinit/distros/bsd.pyrszBSD.__init__cCs|�|j�}|j|fS)N)�_read_hostname�hostname_conf_fn)rZsys_hostnamerrr�_read_system_hostname(szBSD._read_system_hostnamecCs
t�d�S)N�hostname)r
Zget_rc_config_value)r�filename�defaultrrrr,szBSD._read_hostnamecCstd��dS)Nz&Return list cmd to add member to group��NotImplementedError)r�member_nameZ
group_namerrr�_get_add_member_to_group_cmd/sz BSD._get_add_member_to_group_cmdcCstjd|dd�dS)Nr"r
)�fn)r
Zset_rc_config_value)rr"r#rrr�_write_hostname2szBSD._write_hostnamec
Cs�t�|�rt�d|�nJ|j|g}zt�|�t�d|�Wn"tk
r`t�td|�YnX|sjg}|D]h}t�	|�s�t�d||�qnz$t�|�
||��t�d||�Wqntk
r�t�td||�YqnXqndS)Nz(Skipping creation of existing group '%s'zCreated new group %szFailed to create group %szCUnable to add group member '%s' to group '%s'; user does not exist.zAdded user '%s' to group '%s'z%Failed to add user '%s' to group '%s')r	Zis_group�LOGZwarningrr�info�	ExceptionZlogexcZis_userr()rr�membersZ
group_add_cmd�memberrrr�create_group5s8


��zBSD.create_groupcCsBgdd�}t����D]&\}}|d�d||ddigd��q|S)N�)�config�versionr2Zphysical�typeZdhcp)r4rZmac_addressZsubnets)rZget_interfaces_by_mac�items�append)rZnconfZmacrrrr�generate_fallback_configSs
��zBSD.generate_fallback_configcCs|��|jd|d�dS)N�install)�pkgs)Zupdate_package_sources�package_command)r�pkglistrrr�install_packages`szBSD.install_packagescCstd��dS)z?Return environment vars used in *BSD package_command operationsz(BSD subclasses return a dict of env varsNr%)rrrr�_get_pkg_cmd_environdszBSD._get_pkg_cmd_environcCs�|dkrg}|dkr|j}nB|dkr,|j}n2|dkrF|js>dS|j}n|dkr^|jsXdS|j}|rxt|t�rx|�|�n|r�t|t�r�|�|�t	�
d|�}|�|�tj||��dd�dS)Nr8�remove�updateZupgradez%s-%sF)�envZcapture)
rrrr�
isinstance�strr6�list�extendr	Zexpand_package_listrr=)rZcommand�argsr9�cmdr;rrrr:hs*

zBSD.package_commandcCstj||�|�d�dS)N)�tzZtz_file)rZset_etc_timezoneZ
_find_tz_file)rrGrrr�set_timezone�szBSD.set_timezonecCst�d�dS)NzCannot set the locale.)r+�debug)rZlocaleZout_fnrrr�apply_locale�szBSD.apply_locale)�plist_in�hashedcCs"|D]\}}|j|||d�qdS)N)rL)Z
set_passwd)rrKrLrZpasswordrrr�chpasswd�szBSD.chpasswd)N)N)NN)N)"�__name__�
__module__�__qualname__rZnetworking_clsr Z
rc_conf_fnZ
default_ownerZshutdown_options_maprrrB�__annotations__rrrrrrr!rr(r*r0r7r<r=r:rHrJrC�boolrM�
__classcell__rrrrr
s.
	




r)r�typingrrZ	cloudinitrrrZloggingrrr	Zcloudinit.distrosr
Zcloudinit.distros.networkingrZ	getLoggerrNr+ZDistrorrrrr�<module>s