1 #ˆl–ß=¿J µ2ÛR‚œP-\l˜´oÀ ƒm÷�¿ÃÂca '¡DgÖ!ã@s€ddlZddlZddlmZddlmZmZmZddlm Z ddl m Z ddl m Z ddlmZe e¡ZGdd „d e jƒZdS) éN)ÚOptional)ÚnetÚsubpÚutil)Ú bsd_utils)Ú ResolvConf)Úrenderer)Ú NetworkStatec@s–eZdZdZdZdZdZdZdd„Zdd„Z dd d „Z d d „Z d d„Z dd„Z d eeeddœdd„Zdd„Zd!dd„Zd"dd„Zdd„Zdd„ZdS)#Ú BSDRendererzetc/resolv.confz etc/rc.confÚcCs"t |j|j¡}tj||d�dS©N)Úfn)rÚ target_pathÚtargetÚ rc_conf_fnrÚget_rc_config_value)ÚselfÚkeyr ©rú5/usr/lib/python3.9/site-packages/cloudinit/net/bsd.pyrszBSDRenderer.get_rc_config_valuecCs$t |j|j¡}tj|||d�dSr )rrrrrÚset_rc_config_value)rrÚvaluer rrrrszBSDRenderer.set_rc_config_valueNcCs,|si}d|_i|_i|_| dd¡|_dS)NZpostcmdsT)rÚinterface_configurationsÚinterface_configurations_ipv6ÚgetÚ _postcmds)rZconfigrrrÚ__init__s zBSDRenderer.__init__c Csþt ¡}| ¡D�]æ}| d¡}| d¡}|r| |d¡d|vr$| |d¡q$qz&tt t  |j |j ¡¡ƒ}|  ¡Wn<t yºt tdt  |j |j ¡¡tdƒ}|  ¡Yn0t|ƒD]4}z| |¡WqÄtyöt td|¡YqÄ0qÄt|ƒD]8}z| |¡Wn"t�y6t td|¡Yn0�qt t  |j |j ¡t|ƒd¡dS) NrÚdns_nameserversZ dns_searchz&Failed to parse %s, use new empty filer zFailed to add nameserver %szFailed to add search domain %si¤)rDZdns_searchdomainsr'rÚextendrrZload_text_filerrrÚresolv_conf_fnÚparseÚIOErrorZlogexcr*ÚsetZadd_nameserverÚ Val