
    x[hZ              
           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j&                  e      Zd Zdede	dededdf
dZy)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                 `    	 | j                   }t        |z  S # t        $ r d}Y t        |z  S w xY w)Nz/usr/lib)usr_lib_execAttributeErrorHELPER_TOOL_TPL)distrobase_libs     E/usr/lib/python3/dist-packages/cloudinit/config/cc_keys_to_console.py_get_helper_tool_pathr   "   s@    && X%%  X%%s    --namecfgcloudargsreturnc                    t        j                  |j                  di       j                  dd            rt        j	                  d|        y t        |j                        }t        j                  j                  |      st        j                  d| |       y t        j                  |dg       }t        j                  |dg       }	 |dj                  |      dj                  |      g}t        j                  |      \  }}	t        j                  d	|j!                         z  d
d       y # t"        $ r t        j                  d        w xY 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_stderrs
             r   handler9   *   s   }}SWWUB'++,BDIJ		I4	
 	'5K77>>+&G	

 	++'L ,,("MCHH\2CHH]4KL IIcNflln%eT	
  @As   A$D- - E)__doc__loggingr*   	cloudinitr   r   cloudinit.cloudr   cloudinit.configr   cloudinit.config.schemar   cloudinit.logr   cloudinit.settingsr	   r   r   __annotations__	getLogger__name__r(   r   strlistr9        r   <module>rI      s    M  	   ! # . " + = w!	j  g!& 6 % t  rH   