o
    x[hZ  ã                
   @   s²   U d Z ddlZddlZddlmZmZ ddlmZ ddlm	Z	 ddl
mZ ddlmZ ddlmZ d	Zd
dgeg dœZeed< e e¡Zdd„ Zdede	dededdf
dd„ZdS )zFKeys to Console: Control which SSH host keys may be written to consoleé    N)ÚsubpÚutil)ÚCloud)ÚConfig)Ú
MetaSchema)Úlog_util)ÚPER_INSTANCEz(%s/cloud-init/write-ssh-key-fingerprintsÚcc_keys_to_consoleÚall)ÚidÚdistrosÚ	frequencyÚactivate_by_schema_keysÚmetac                 C   s.   z| j }W t| S  ty   d}Y t| S w )Nz/usr/lib)Úusr_lib_execÚAttributeErrorÚHELPER_TOOL_TPL)ÚdistroÚbase_lib© r   úE/usr/lib/python3/dist-packages/cloudinit/config/cc_keys_to_console.pyÚ_get_helper_tool_path"   s   þþr   ÚnameÚcfgÚcloudÚargsÚreturnc           
      C   sÌ   t  | di ¡ dd¡¡rt d| ¡ d S t|jƒ}tj 	|¡s)t 
d| |¡ d S t  |dg ¡}t  |dg ¡}z!|d |¡d |¡g}t |¡\}}	tjd	| ¡  d
dd� W d S  tye   t 
d¡ ‚ w )NÚsshÚemit_keys_to_consoleTz;Skipping module named %s, logging of SSH host keys disabledz9Unable to activate module %s, helper tool not found at %sÚssh_fp_console_blacklistÚssh_key_console_blacklistú,z%s
F)ÚstderrÚconsolez*Writing keys to the system console failed!)r   Úis_falseÚgetÚLOGÚdebugr   r   ÚosÚpathÚexistsÚwarningÚget_cfg_option_listÚjoinr   r   Ú	multi_logÚstripÚ	Exception)
r   r   r   r   Úhelper_pathÚfp_blacklistÚkey_blacklistÚcmdÚstdoutÚ_stderrr   r   r   Úhandle*   s:   ÿ
ýÿÿÿ
þr7   )Ú__doc__Úloggingr(   Ú	cloudinitr   r   Úcloudinit.cloudr   Úcloudinit.configr   Úcloudinit.config.schemar   Úcloudinit.logr   Úcloudinit.settingsr   r   r   Ú__annotations__Ú	getLoggerÚ__name__r&   r   ÚstrÚlistr7   r   r   r   r   Ú<module>   s$   ü
"