Ë
    x[hÕ  ã            
       óÚ   — U d Z ddlZddlZddlmZ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	eged
gdœZeed<    ej&                  e«      Z G d„ d«      Zdede
dededdf
d„Zy)z&Salt Minion: Setup and run salt minioné    N)ÚsafeyamlÚsubpÚutil)ÚCloud)ÚConfig)Ú
MetaSchema)ÚALL_DISTROS)ÚPER_INSTANCEÚcc_salt_minionÚsalt_minion)ÚidÚdistrosÚ	frequencyÚactivate_by_schema_keysÚmetac                   ó   — e Zd ZdZd„ Zy)ÚSaltConstantsz>
    defines default distribution specific salt variables
    c                 óf  — t        j                  «       rd| _        d| _        d| _        nd| _        d| _        d| _        t        j
                  |d| j                  «      | _        t        j
                  |d| j                  «      | _        t        j
                  |d| j                  «      | _        y )	Nzpy-saltr   z/usr/local/etc/saltzsalt-minionz	/etc/saltÚpkg_nameÚ
config_dirÚservice_name)r   Ú
is_FreeBSDr   Úsrv_nameÚconf_dirÚget_cfg_option_str)ÚselfÚcfgs     úA/usr/lib/python3/dist-packages/cloudinit/config/cc_salt_minion.pyÚ__init__zSaltConstants.__init__#   s�   € ä�?‰?ÔØ%ˆDŒMØ)ˆDŒMØ1ˆD�Mð *ˆDŒMØ)ˆDŒMØ'ˆDŒMô ×/Ñ/°°ZÀÇÁÓOˆŒÜ×/Ñ/Ø�˜tŸ}™}ó
ˆŒô ×/Ñ/Ø� §¡ó
ˆ�ó    N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   © r    r   r   r      s   „ ñó
r    r   Únamer   ÚcloudÚargsÚreturnc                 ó.  — d|vrt         j                  d| «       y |d   }t        |¬«      }|j                  j	                  |j
                  g«       t        j                  |j                  «       d }d|v rdt        j                  j                  |j                  d«      }|j                  d«      }t        j                  |t        j                  |«      «       d|v rdt        j                  j                  |j                  d«      }t        j                  |j                  d«      «      }	t        j                  ||	«       d|v �r/d|v �r*t        j                  j                  |j                  d	«      }
t        j                  j!                  |
«      s*t        j                  j                  |j                  d
«      }
|j                  d|
«      }t        j"                  d«      5  t        j                  |«       t        j                  j                  |d«      }t        j                  j                  |d«      }t        j                  ||d   «       t        j                  ||d   «       d d d «       t%        |xr |j                  d«      dk(  «       }|j                  j'                  |rdnd|j(                  «       |j                  j'                  |rdnd|j(                  «       |st+        j*                  g d¢d¬«       y y # 1 sw Y   ŒœxY w)Nr   z?Skipping module named %s, no 'salt_minion' key in configuration)r   ÚconfÚminionÚgrainsÚ
public_keyÚprivate_keyz
pki/minionÚpkiÚpki_diré?   z
minion.pubz
minion.pemÚfile_clientÚlocalÚenableÚdisableÚrestartÚstop)z	salt-callz--localzstate.applyF)Úcapture)ÚLOGÚdebugr   ÚdistroÚinstall_packagesr   r   Ú
ensure_dirr   ÚosÚpathÚjoinÚgetÚ
write_filer   ÚdumpsÚisdirÚumaskÚboolÚmanage_servicer   r   )r&   r   r'   r(   Ús_cfgÚconstÚminion_dataÚminion_configÚgrains_configÚgrains_dataÚpki_dir_defaultr1   Úpub_nameÚpem_nameÚminion_daemons                  r   ÚhandlerS   9   sR  € à˜CÑÜ�	‰	ØMØô	
ð 	à�Ñ€EÜ˜eÔ$€Eð 
‡L�L×!Ñ! 5§>¡>Ð"2Ô3ô 	‡O�O�E—N‘NÔ#à€Kð ��äŸ™Ÿ™ U§^¡^°XÓ>ˆØ—i‘i Ó'ˆÜ�‰˜¤x§~¡~°kÓ'BÔCà�5ÑäŸ™Ÿ™ U§^¡^°XÓ>ˆÜ—n‘n U§Y¡Y¨xÓ%8Ó9ˆÜ�‰˜ {Ô3ð �uÒ °%Ò!7ÜŸ'™'Ÿ,™, u§~¡~°|ÓDˆÜ�w‰w�}‰}˜_Ô-Ü Ÿg™gŸl™l¨5¯>©>¸5ÓAˆOà—)‘)˜I Ó7ˆÜ�Z‰Z˜Óñ 	<Ü�O‰O˜GÔ$Ü—w‘w—|‘| G¨\Ó:ˆHÜ—w‘w—|‘| G¨\Ó:ˆHÜ�O‰O˜H e¨LÑ&9Ô:Ü�O‰O˜H e¨MÑ&:Ô;÷	<ô ØÒA˜Ÿ™¨Ó6¸'ÑAóð €Mð 
‡L�L×ÑÙ!‰ y°%·.±.ôð 
‡L�L×ÑÙ"‰	¨°·±ôñ ô 	�	‰	Ò9À5ÖIð	 ÷%	<ð 	<ús   Ç(BLÌL)r$   Úloggingr?   Ú	cloudinitr   r   r   Úcloudinit.cloudr   Úcloudinit.configr   Úcloudinit.config.schemar   Úcloudinit.distrosr	   Úcloudinit.settingsr
   r   Ú__annotations__Ú	getLoggerr!   r:   r   ÚstrÚlistrS   r%   r    r   ú<module>r_      s‘   ðò
 -ã Û 	ç *Ñ *Ý !Ý #Ý .Ý )Ý +ð Øˆ}ØØ -˜ñ	€€jó ð €g×Ñ˜Ó!€÷
ñ 
ð6>J�ð >J˜6ð >J¨%ð >J°tð >JÀô >Jr    