܍~c`ddlmZmZmZmZddlmZddlmZdZ Gddej Z dS))distroshelperssubputil) 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} ceZdZdZdZdZdeediZdZdZ dd Z d Z d Z d Z d ZddZdZdZddZdZedZddZdZdedefdZdS)Distrozpy3-pipz/etc/profile.d/locale.shz/etc/network/interfaceseni)eni_path eni_headerctj||||tj||_d|_d|_d|d<dS)NzC.UTF-8alpinesshd ssh_svcname)rr __init__rRunners_runnerdefault_localeosfamily)selfnamecfgpathss :/usr/lib/python3/dist-packages/cloudinit/distros/alpine.pyrzDistro.__init__sPdC777u-- '  #Mc|jS)zgThe default locale for Alpine Linux is different than cloud-init's DataSource default. )rrs r get_localezDistro.get_locale)s ""rNc|s|j}|s|j}ddddd|zddg}tj|d|ddS) N#z?# This file is created by cloud-init once per new instance bootzexport CHARSET=UTF-8zexport LANG=%szexport LC_COLLATE=C )rlocale_conf_fnr write_filejoin)rlocaleout_fnliness r apply_localezDistro.apply_locale/so )(F )(F  M  " v % !    % 0 0%88888rc\||d|dS)Nadd)pkgs)update_package_sourcespackage_command)rpkglists rinstall_packageszDistro.install_packagesBs3 ##%%% U11111rcd} ||}n#t$rYnwxYw|std}||t j|t |ddS)Nr"r$)_read_hostname_confIOErrorr set_hostnamerr&str)rhostnamefilenameconfs r_write_hostnamezDistro._write_hostnameFs ++H55DD    D  $##D (### #d))U33333s  ''cH||j}|j|fSN)_read_hostnamehostname_conf_fn)r sys_hostnames r_read_system_hostnamezDistro._read_system_hostnameSs&**4+@AA %|44rcpttj|}||Sr=)rr load_fileparse)rr9r:s rr4zDistro._read_hostname_confWs+DN84455  rcnd} ||}|j}n#t$rYnwxYw|s|S|Sr=)r4r8r5)rr9defaultr8r:s rr>zDistro._read_hostname\sZ ++H55D}HH    D  Ns ! ..cdS)Nz 127.0.1.1rs r_get_localhost_ipzDistro._get_localhost_ipgs{rcXtj|||dS)N)tztz_file)rset_etc_timezone _find_tz_file)rrKs r set_timezonezDistro.set_timezonejs, B0B0B20F0FGGGGGGrc|g}dg}|d|r+t|tr||n,|r*t|tr|||r|||dkr|ddgt jd|}||tj|ddS) Napkz--quietupgradez--update-cachez --availablez%s-%sFcapture)append isinstancer7listextendrexpand_package_listr)rcommandargsr.cmdr1s rr0zDistro.package_commandms <Dg 9  JtS))  JJt      jt,,  JJt     JJw    i   JJ(-8 9 9 9*7D99 7 #u%%%%%%rcX|jd|jdgtdS)Nzupdate-sourcesupdate)freq)rrunr0rrs rr/zDistro.update_package_sourcess<    J      rc0|js ddg|_|jS)z7Allow distro to determine the preferred ntp client listchronyntp)_preferred_ntp_clientsrs rpreferred_ntp_clientszDistro.preferred_ntp_clientss%* <+3U*;D '**rpoweroffnowc|dg}|dkr|dgz }nZ |tt|dzn&#t$r}t d|d|d}~wwxYw|S)Nz-drg0<z;power_state[delay] must be 'now' or '+m' (minutes). found 'z'.)rUr7int ValueError TypeError)rmodedelaymessagerZes rshutdown_commandzDistro.shutdown_commands, E>> u GG s3u::?334444   i&+ee.  s2A A)A$$A)cdS)z1 Alpine uses OpenRC, not systemd FrHrs r uses_systemdzDistro.uses_systemds uractionservicec ddg}ddg}t||dgzt||dgzt|d|gzt|d|gzt||dgzt||dgzt||dgzt||d gzd }t||}tj|d 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-updatestopstartdelr-restartstatus)rxrydisableenabler{reloadz try-reloadr|TrS)rWr)rrurvinit_cmd update_cmdcmdsr\s rmanage_servicezDistro.manage_services!+.!;/ NNgv%66(^^w&88J''5'*:::&&%)99H~~)(<<8nn';;x..GY+??8nn'::   4<  yd++++rr=)NN)rfrgN)__name__ __module__ __qualname__pip_package_namer%network_conf_fnNETWORK_FILE_HEADERrenderer_configsrrr+r2r;rAr4r>rIrOr0r/propertyrerrrtr7rrHrrr r s` /N/O O;NOO$$$### 9999&222 4 4 4555    HHH&&&&2   ++X+4 ,S,3,,,,,,rr N) cloudinitrrrr"cloudinit.distros.parsers.hostnamercloudinit.settingsrrr rHrrrs322222222222;;;;;;++++++v,v,v,v,v,W^v,v,v,v,v,r