f"ddlZddlZddlmZmZmZmZddlmZddl m Z eje Z dZGddejZy)N)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} ceZdZdZdZdZdZdeediZdZ dZ d Z d Z d$d Z d ejfdZdZdZdZd$dZdZdedededefdZdZd%dZdZedZd&dZedZe d dd ed!ed"efd#Z!y )'Distrozpy3-pipz/usr/share/bkeymaps/z&/etc/profile.d/50-cloud-init-locale.shz/etc/network/interfaceseni)eni_path eni_headerz /var/lib/dhcpzdhclient\.leasesctjj||||tj||_d|_d|_d|d<y)NzC.UTF-8alpinesshd ssh_svcname)rr __init__rRunners_runnerdefault_localeosfamily)selfnamecfgpathss :/usr/lib/python3/dist-packages/cloudinit/distros/alpine.pyrzDistro.__init__)sEdC7u- '  #Mc|jS)zgThe default locale for Alpine Linux is different than cloud-init's DataSource default. )rrs r get_localezDistro.get_locale3s"""rNc|s |j}|s |j}ddddd|zddg}tj|dj |dy) 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_locale9s^((F((F  M  " v % !    % 0%8rpkglistcJ|j|jd|y)Nadd)pkgs)update_package_sourcespackage_command)rr,s rinstall_packageszDistro.install_packagesLs! ##% U1rc<d} |j|}|s td}|j|tj|t|dy#t$r>tj|jdd}|rnt j dYyYwxYw)Ncreate_hostname_fileTz8create_hostname_file is False; hostname file not createdr"r$) _read_hostname_confIOErrorrget_cfg_option_bool_cfgLOGinfor set_hostnamer&str)rhostnamefilenameconfr4s r_write_hostnamezDistro._write_hostnamePs ++H5D#D (# #d)U3 #'#;#; 14$ $N  sAABBcT|j|j}|j|fSN)_read_hostnamehostname_conf_fn)r sys_hostnames r_read_system_hostnamezDistro._read_system_hostnamefs)**4+@+@A %%|44rcbttj|}|j|SrB)rrload_text_fileparse)rr>r?s rr5zDistro._read_hostname_confjs%D//9:  rcld} |j|}|j}|s|S|S#t$rYwxYwrB)r5r=r6)rr>defaultr=r?s rrCzDistro._read_hostnameosH ++H5D}}HN    s ' 33cy)Nz 127.0.1.1rs r_get_localhost_ipzDistro._get_localhost_ipzsrlayoutmodelvariantoptionsc|s"d}tj|t|tjj |j |}tjj|s%d|z}tj|t||s"d}tj|t|tjj |d|z}tjj|s%d|z}tj|t||rtjd|rtjdtjd||gy) NzKeyboard layout not specified.z,Keyboard layout directory %s does not exist.zKeyboard variant not specified.z %s.bmap.gzz(Keyboard variant file %s does not exist.z+Keyboard model is ignored for Alpine Linux.z.Keyboard options are ignored for Alpine Linux.z setup-keymap) r9error RuntimeErrorospathr' keymap_pathisdirisfilewarningr)rrOrPrQrRmsgkeymap_layout_pathkeymap_variant_paths r set_keymapzDistro.set_keymap}s2C IIcNs# #WW\\$*:*:FCww}}/0>$%  IIcNs# #3C IIcNs# # ggll  w 6 ww~~12:%&  IIcNs# #  KKE F  KKH I >6734rcPtj||j|y)N)tztz_file)rset_etc_timezone _find_tz_file)rras r set_timezonezDistro.set_timezones  B0B0B20FGrc|g}dg}|jd|r"t|tr|j|n#|r!t|tr|j ||r|j||dk(r|j ddgt j d|}|j |tj|dy) Napkz--quietupgradez--update-cachez --availablez%s-%sF)capture)append isinstancer<listextendrexpand_package_listr)rcommandargsr/cmdr,s rr1zDistro.package_commands <Dg 9 JtS) JJt  jt, JJt   JJw  i  JJ(-8 9**7D9 7 #u%rc`|jjd|jdgty)Nzupdate-sourcesupdate)freq)rrunr1rrs rr0zDistro.update_package_sourcess-    J  rcD|js ddg|_|jS)z7Allow distro to determine the preferred ntp client listchronyntp)_preferred_ntp_clientsrs rpreferred_ntp_clientszDistro.preferred_ntp_clientss&**+3U*;D '***rc|dg}|dk(r|dgz }|S |jtt|dz|S#t$r}t d|d|d}~wwxYw)Nz-dnow0<z;power_state[delay] must be 'now' or '+m' (minutes). found 'z'.)rjr<int ValueError TypeError)rmodedelaymessageroes rshutdown_commandzDistro.shutdown_commandsz, E> u G s3u:?34  &+. s&; AAAcy)z1 Alpine uses OpenRC, not systemd FrMrMrr uses_systemdzDistro.uses_systemds r)rcsactionservice extra_argsc Tddg}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)rrdisableenablerreloadz try-reloadrT)rir)rlr) rrrrrinit_cmd update_cmdcmdsrqs rmanage_servicezDistro.manage_services!+.!;/ Ngv%66(^w&88J'5'*:::&%)99H~)(<<8n';;x.GY+??8n'::  4< yyd44rrB)NN)poweroffr|N)"__name__ __module__ __qualname__pip_package_namerXr%network_conf_fnNETWORK_FILE_HEADERrenderer_configsdhclient_lease_directorydhclient_lease_file_regexrrr+r PackageListr2r@rFr5rCrNr<r_rer1r0propertyrzr staticmethodr classmethodrrMrrr r s (K=N/O O;NO / 3$# 9&2(;(;24,5  5 5S 53 5 5DH&2 ++4 ?C55$'56955rr )loggingrV cloudinitrrrr"cloudinit.distros.parsers.hostnamercloudinit.settingsr getLoggerrr9rr rMrrrsE 22;+g!j5W^^j5r