HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux ip-10-0-8-47 6.8.0-1021-aws #23~22.04.1-Ubuntu SMP Tue Dec 10 16:31:58 UTC 2024 aarch64
User: ubuntu (1000)
PHP: 8.1.2-1ubuntu2.22
Disabled: NONE
Upload Files
File: //lib/python3/dist-packages/cloudinit/distros/__pycache__/alpine.cpython-310.pyc
o

�Ad��@sJddlmZmZmZmZddlmZddlmZdZ	Gdd�dej
�Z
dS)�)�distros�helpers�subp�util)�HostnameConf)�PER_INSTANCEa7# This file is generated from information provided by the datasource. Changes
# to it will not persist across an instance reboot. To disable cloud-init's
# network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}

c@s�eZdZdZdZdZdeed�iZdd�Zdd	�Z	d+dd�Z
d
d�Zdd�Zdd�Z
dd�Zd+dd�Zdd�Zdd�Zd,dd�Zdd�Zedd ��Zd-d#d$�Zd%d&�Zd'ed(efd)d*�Zd
S).�Distrozpy3-pipz/etc/profile.d/locale.shz/etc/network/interfaces�eni)�eni_path�
eni_headercCs6tj�||||�t�|�|_d|_d|_d|d<dS)NzC.UTF-8�alpine�sshd�ssh_svcname)rr�__init__r�Runners�_runner�default_locale�osfamily)�self�name�cfg�paths�r�:/usr/lib/python3/dist-packages/cloudinit/distros/alpine.pyrs
zDistro.__init__cCs|jS)zgThe default locale for Alpine Linux is different than
        cloud-init's DataSource default.
        )r�rrrr�
get_locale)szDistro.get_localeNcCsB|s|j}|s
|j}ddddd|ddg}t�|d�|�d�dS)	N�#z?# This file is created by cloud-init once per new instance bootzexport CHARSET=UTF-8zexport LANG=%szexport LC_COLLATE=C��
�)r�locale_conf_fnr�
write_file�join)r�locale�out_fn�linesrrr�apply_locale/s�	zDistro.apply_localecCs|��|jd|d�dS)N�add)�pkgs)�update_package_sources�package_command)r�pkglistrrr�install_packagesBszDistro.install_packagescCsRd}z|�|�}Wn	tyYnw|std�}|�|�t�|t|�d�dS)Nrr)�_read_hostname_conf�IOErrorr�set_hostnamerr!�str)r�hostname�filename�confrrr�_write_hostnameFs�
zDistro._write_hostnamecCs|�|j�}|j|fS�N)�_read_hostname�hostname_conf_fn)r�sys_hostnamerrr�_read_system_hostnameSs
zDistro._read_system_hostnamecCstt�|��}|��|Sr5)rr�	load_file�parse)rr2r3rrrr-WszDistro._read_hostname_confcCs8d}z
|�|�}|j}Wn	tyYnw|s|S|Sr5)r-r1r.)rr2�defaultr1r3rrrr6\s

�zDistro._read_hostnamecC�dS)Nz	127.0.1.1rrrrr�_get_localhost_ipgszDistro._get_localhost_ipcCstj||�|�d�dS)N)�tz�tz_file)r�set_etc_timezone�
_find_tz_file)rr?rrr�set_timezonejszDistro.set_timezonecCs�|durg}dg}|�d�|rt|t�r|�|�n|r't|t�r'|�|�|r.|�|�|dkr9|�ddg�t�d|�}|�|�tj|dd�dS)	N�apkz--quiet�upgradez--update-cachez--availablez%s-%sF��capture)�append�
isinstancer0�list�extendr�expand_package_listr)r�command�argsr(�cmdr+rrrr*ms



zDistro.package_commandcCs|jjd|jdgtd�dS)Nzupdate-sources�update)�freq)r�runr*rrrrrr)�s
�zDistro.update_package_sourcescCs|jsddg|_|jS)z7Allow distro to determine the preferred ntp client list�chrony�ntp)�_preferred_ntp_clientsrrrr�preferred_ntp_clients�s
zDistro.preferred_ntp_clients�poweroff�nowc
Csd|dg}|dkr|dg7}|Sz|�tt|�d��W|Sty1}ztd|f�|�d}~ww)Nz-drX�0�<z?power_state[delay] must be 'now' or '+m' (minutes). found '%s'.)rHr0�int�
ValueError�	TypeError)r�mode�delay�messagerM�errr�shutdown_command�s"

�������zDistro.shutdown_commandcCr=)z1
        Alpine uses OpenRC, not systemd
        Frrrrr�uses_systemd�szDistro.uses_systemd�action�servicec
Cs�ddg}ddg}t|�|dgt|�|dgt|�d|gt|�d|gt|�|dgt|�|dgt|�|dgt|�|d	gd
�}t||�}tj|dd�S)
a<
        Perform the requested action on a service. This handles OpenRC
        specific implementation details.

        OpenRC has two distinct commands relating to services,
        'rc-service' and 'rc-update' and the order of their argument
        lists differ.
        May raise ProcessExecutionError
        z
rc-servicez	--nocolorz	rc-update�stop�start�delr'�restart�status)rfrg�disable�enableri�reloadz
try-reloadrjTrF)rJr)rrdre�init_cmd�
update_cmd�cmdsrOrrr�manage_service�s
�
zDistro.manage_servicer5)NN)rWrXN)�__name__�
__module__�__qualname__�pip_package_namer �network_conf_fn�NETWORK_FILE_HEADER�renderer_configsrrr&r,r4r9r-r6r>rCr*r)�propertyrVrbrcr0rqrrrrrs.
�






rN)�	cloudinitrrrr�"cloudinit.distros.parsers.hostnamer�cloudinit.settingsrrwrrrrr�<module>s