+
    ˜qgjK5  ã                   ó  € ^ RI t ^ RIt^ RIHt ^ RIHt ^ RIHtHtH	t	H
t
 ^ RIHtHtHtHtHtHt ^ RIHt ^ RIHt ^ RIHt ^ R	IHt ^ R
IHt ]P8                  ! ]4      tRt. ROt RR/t! ! R R]	4      t"R t#R t$R R lt% ! R R4      t&R# )é    N)Ú	signature)Ú
ModuleType)ÚDictÚListÚ
NamedTupleÚOptional)ÚconfigÚimporterÚ	lifecycleÚperformanceÚ
type_utilsÚutil)ÚALL_DISTROS)ÚConfigMerger)ÚReportEventStack)ÚFREQUENCIES©ÚInitÚcc_Úcc_ubuntu_advantageÚcc_ubuntu_proc                   ó,   a € ] tR t^4t o V 3R ltRtV tR# )ÚModuleDetailsc                óZ   <€ V ^8„  d   Qh/ S[ ;R&   S[;R&   S[;R&   S[S[,          ;R&   # )é   ÚmoduleÚnameÚ	frequencyÚrun_args)r   Ústrr   )ÚformatÚ__classdict__s   "€Ú:/usr/lib/python3/dist-packages/cloudinit/config/modules.pyÚ__annotate__ÚModuleDetails.__annotate__4   s7   ø‡ ‚ ÙÑñ á
�Iñ ñ �Nñ ñ ‘3�iÑò	 ó    © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__©r"   s   @r#   r   r   4   s   ø‡ ‡ „ r&   r   c                 ó   € V P                  R R4      pVP                  4       P                  R4      '       d   V^ \        V4      ^,
           pVP	                  4       pV'       g   R# VP                  \        4      '       g   \        : V: 2pV# )Ú-Ú_z.pyN)ÚreplaceÚlowerÚendswithÚlenÚstripÚ
startswithÚ
MOD_PREFIX)r   Ú
canon_names   & r#   Úform_module_namer;   ;   sv   € Ø—‘˜c 3Ó'€JØ×ÑÓ×"Ñ" 5×)Ò)Ø ¤S¨£_°qÕ%8Ð:ˆ
Ø×!Ñ!Ó#€JßÙØ× Ñ ¤×,Ò,Þ)ª:Ð6ˆ
ØÐr&   c           	      ó^  € \        V R 4      '       d#   RV P                  9  g   RV P                  9  d   \        RV  RV R24      hV P                  R,          \        9  d'   \        RV  RV RV P                  R,           R24      h\        V R4      '       d   \        RV  RV R	24      hR
# )Úmetar   ÚdistroszModule 'z' with name 'z4' MUST have a 'meta' attribute of type 'MetaSchema'.z' has an invalid frequency Ú.ÚschemazX' has a JSON 'schema' attribute defined. Please define schema in cloud-init-schema,json.N)Úhasattrr=   Ú
ValueErrorr   )Úmodr   s   &&r#   Úvalidate_modulerD   G   sË   € ä�C˜× Ò Ø˜cŸh™hÔ&Ø˜CŸH™HÔ$äØ�s�e˜=¨¨ð /$ð $ó
ð 	
ð ‡x�x�Õ¤KÔ/ÜØ�s�e˜=¨¨Ð.IØ�x‰x˜Õ$Ð% Qð(ó
ð 	
ô ˆs�H×ÒÜØ�s�e˜=¨¨ð /Gð Gó
ð 	
ñ r&   c                ó<   € V ^8„  d   QhR\         R\        R\        /# )r   Úmodule_detailsÚcfgÚreturn)r   ÚdictÚbool)r!   s   "r#   r$   r$   ]   s!   € ÷ ñ œ}ð ´4ð ¼Dñ r&   c                 óÆ   € \        V P                  P                  P                  R / 4      4      pV'       g   R# VP	                  VP                  4       4      '       g   R# R# )Úactivate_by_schema_keysTF)Ú	frozensetr   r=   ÚgetÚintersectionÚkeys)rF   rG   Úactivate_by_schema_keys_keyss   && r#   Ú
_is_activerR   ]   sO   € Ü#,Ø×Ñ×"Ñ"×&Ñ&Ð'@À"ÓEó$Ð ÷ (ÙØ'×4Ñ4°S·X±X³Z×@Ò@ÙÙr&   c                   ó˜   a € ] tR t^ht o RV 3R lR llt]V 3R lR l4       tV 3R lR ltV 3R lR	 ltV 3R
 lR lt	RR lt
R tRtV tR# )ÚModulesNc                ó    <€ V ^8„  d   QhRS[ /# )r   Úinitr   )r!   r"   s   "€r#   r$   ÚModules.__annotate__i   s   ø€ ÷ !ñ !™Tñ !r&   c                ó\   € Wn         W n        R V n        Vf   \        RRRR7      pW0n        R # )Nzmodule-reporterzmodule-descF)r   ÚdescriptionÚreporting_enabled)rV   Ú	cfg_filesÚ_cached_cfgr   Úreporter)ÚselfrV   r[   r]   s   &&&&r#   Ú__init__ÚModules.__init__i   s4   € ØŒ	Ø"Œà48ˆÔØÒÜ'Ø&Ø)Ø"'ôˆHð
 !Žr&   c                ó4   <€ V ^8„  d   QhRS[ P                  /# ©r   rH   )r	   ÚConfig)r!   r"   s   "€r#   r$   rW   w   s   ø€ ÷ /ñ /‘V—]‘]ñ /r&   c                ó*  € V P                   fg   \        V P                  P                  V P                  P                  V P
                  V P                  P                  R7      pVP                  V n         \        P                  ! V P                   4      # )N)ÚpathsÚ
datasourceÚadditional_fnsÚbase_cfg)	r\   r   rV   re   rf   r[   rG   ÚcopyÚdeepcopy)r^   Úmergers   & r#   rG   ÚModules.cfgv   sg   € ð ×ÑÒ#Ü!Ø—i‘i—o‘oØŸ9™9×/Ñ/Ø#Ÿ~™~ØŸ™Ÿ™ô	ˆFð  &Ÿz™zˆDÔä�}Š}˜T×-Ñ-Ó.Ð.r&   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# rb   )r   r   )r!   r"   s   "€r#   r$   rW   „   s   ø€ ÷ 9ñ 9¡T©$¥Zñ 9r&   c           	     óð  € . pWP                   9  d   V# V P                   P                  V4      pV'       g   V# V EFµ  pV'       g   K  \        V\        4      '       d$   VP	                  RVP                  4       /4       KG  \        V\        4      '       d�   / p\        V4      ^8¼  d   V^ ,          P                  4       VR&   \        V4      ^8¼  d   V^,          P                  4       VR&   \        V4      ^8¼  d   VR,          VR&   V'       d   VP	                  V4       Kê  Kì  \        V\        4      '       d�   / pRpRV9   d   VR,          P                  4       VR&   RpRV9   d   VR,          P                  4       VR&   RV9   d   VR,          ;'       g    . VR&   V'       d    V'       d   VP	                  V4       EK‹  EKŽ  EK‘  \        R	V: R
\        P                  ! V4      : 24      h	  V# )a  Read the modules from the config file given the specified name.

Returns a list of module definitions. E.g.,
[
    {
        "mod": "bootcmd",
        "freq": "always",
        "args": "some_arg",
    }
]

Note that in the default case, only "mod" will be set.
rC   Úfreq:r   NNÚargsFr   Tr   zFailed to read 'z' item in config, unknown type )rG   rN   Ú
isinstancer    Úappendr7   Úlistr6   rI   Ú	TypeErrorr   Úobj_name)r^   r   Úmodule_listÚcfg_modsÚitemÚcontentsÚvalids   &&     r#   Ú_read_modulesÚModules._read_modules„   s­  € ð #%ˆØ—x‘xÔØÐØ—8‘8—<‘< Ó%ˆßØÐÜˆDßÙÜ˜$¤×$Ò$Ø×"Ñ"à˜tŸz™z›|ðöô
 ˜D¤4×)Ò)Ø�ä�t“9 ”>Ø&*¨1¥g§m¡m£o�H˜U‘OÜ�t“9 ”>Ø'+¨A¥w§}¡}£�H˜VÑ$Ü�t“9 ”>Ø'+¨B¥x�H˜VÑ$ßØ×&Ñ& xÖ0ñ ä˜D¤4×)Ò)Ø�Ø�Ø˜T”>Ø&*¨6¥l×&8Ñ&8Ó&:�H˜U‘OØ �EØ $Ô&Ø'+¨KÕ'8×'>Ñ'>Ó'@�H˜VÑ$Ø˜T”>Ø'+¨F¥|×'9Ð'9°r�H˜VÑ$ß§Ø×&Ñ& x×0ò !&’8õ  ãœZ×0Ò0°Õ6ð8óð ñC ðJ Ðr&   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# rb   ©r   r   )r!   r"   s   "€r#   r$   rW   ¿   s   ø€ ÷ Añ A©$©}Õ*=ñ Ar&   c           
     óX  € . pV EF   pVR,          pVP                  R4      pVP                  R4      ;'       g    . p\        V4      pV'       g   KN  V'       d,   V\        9  d!   \        P                  ! RV RV 2RR7       RpV\
        9   d8   \        P                  ! R	V R
\
        V,           R2RR7       \
        V,          p\        P                  ! VR\        P                  ! \        4      .R.4      w  r‰V'       gD   V\        9   d   \        P                  RVR,          4       M\        P                  RVV	4       EKC  \        P                  ! V^ ,          4      p
\!        W¤4       Vf   V
P"                  R,          pVP%                  \'        V
VVVR7      4       EK£  	  V# )z¦Convert list of returned from _read_modules() into new format.

Invalid modules and arguments are ignored.
Also ensures that the module has the required meta fields.
rC   ro   rp   zConfig specified module z has an unknown frequency z22.1©Ú
deprecatedÚdeprecated_versionNzModule has been renamed from z to z/. Update any references in /etc/cloud/cloud.cfgz24.1Ú Úhandlez\Module `%s` has been removed from cloud-init. It may be removed from `/etc/cloud/cloud.cfg`.:é   NNz,Could not find module named %s (searched %s)r   )r   r   r   r   )rN   r;   r   r   Ú	deprecateÚRENAMED_MODULESr
   Úfind_moduler   ru   r	   ÚREMOVED_MODULESÚLOGÚinfoÚwarningÚimport_modulerD   r=   rr   r   )r^   Úraw_modsÚmostly_modsÚraw_modÚraw_namero   r   Úmod_nameÚmod_locsÚlooked_locsrC   s   &&         r#   Ú_fixup_modulesÚModules._fixup_modules¿   s˜  € ð ˆÜˆGØ˜u•~ˆHØ—;‘;˜vÓ&ˆDØ—{‘{ 6Ó*×0Ð0¨bˆHÜ'¨Ó1ˆHßÙß˜¤KÔ/Ü×#Ò#à2°8°*ð =&Ø&* Vð-ð (.õð �Øœ?Ô*Ü×#Ò#à7¸°zÀÜ*¨8Õ4Ð5ð 6>ð>ð (.õô +¨8Õ4�Ü$,×$8Ò$8Ø˜2œz×2Ò2´6Ó:Ð;¸h¸Zó%Ñ!ˆH÷ ØœÔ.Ü—H‘HðIà  �õô —K‘KØFØ Ø#ôò
 Ü×(Ò(¨°!­Ó5ˆCÜ˜CÔ*ØŠ|à—x‘x Õ,�Ø×ÑÜØØ!Ø"Ø%ô	÷ñe  ðt Ðr&   c                ó0   <€ V ^8„  d   QhRS[ S[,          /# )r   r�   r~   )r!   r"   s   "€r#   r$   rW     s   ø€ ÷ 5%ñ 5%©©]Õ(;ñ 5%r&   c                óÞ  € V P                   P                  4       p. p. pV EFU  w  rVrx \        P                  R WeV4       VP	                  V4       RV 2p	RV	: RV: 2p
\        WšV P                  R7      pRVRV P                  RVRV/pT;_uu_ 4        \        VP                  4      pVP                  p\        V4      ^8X  d0   \        P                  ! R	R
R7       VP                  R\        /4       \        P                   ! RRR7      ;_uu_ 4       pVP#                  W•P                  WÇR7      w  ppRRR4       X'       d   V	 RXP$                  R R2Vn        MRV	,          Vn        RRR4       EKX  	  WC3#   + '       g   i     LO; i  + '       g   i     EK‚  ; i  \(         d<   p\*        P,                  ! \        RYe4       TP	                  TT34        Rp?EKÆ  Rp?ii ; i)z(Running module %s (%s) with frequency %szconfig-zrunning z with frequency )r   rY   Úparentr   rG   Úcloudrp   z%Config modules with a `log` parameterz23.2r€   Úlogrƒ   Úskip)Úlog_mode)ro   Nz ran successfully and took z.3fz secondsz%s previously ranzRunning module %s (%s) failed)rV   ÚcloudifyrŠ   Údebugrr   r   r]   rG   r   r„   Ú
parametersr6   r   r†   Úupdater   ÚTimedÚrunÚdeltaÚmessageÚ	Exceptionr   Úlogexc)r^   r�   ÚccÚfailuresÚ	which_ranrC   r   ro   rp   Úrun_nameÚdescÚmyrepÚ	func_argsÚfunc_signatureÚfunc_paramsÚtimerÚranÚ_rÚes   &&                 r#   Ú_run_modulesÚModules._run_modules  sÄ  € Ø�Y‰Y×ÑÓ!ˆð ˆØˆ	Ü%0Ñ!ˆC�tð-+Ü—	‘	Ø>ÀÈ4ôð
 × Ñ  Ô&à$ T FÐ+‘ã9AÂ4ÐH�Ü(Ø!¸D¿M¹Mô�ð ˜DØ˜4Ÿ8™8Ø˜RØ˜Dð	�	÷ ’UÜ%.¨s¯z©zÓ%:�NØ"0×";Ñ";�KÜ˜;Ó'¨1Ô,Ü!×+Ò+Ø'NØ/5õð "×(Ñ(¨%´¨Ô6ä$×*Ò*¨2¸×?Õ?À5Ø"$§&¡&Ø$§j¡j°)ð #)ó #™˜˜R÷ @÷ à'˜jð )$Ø$)§K¡K°Ð#4°Hð>ð �ð
 )<¸hÕ(F˜œ÷) ’Uñ- &1ð^ Ð$Ð$÷ @×?ú÷ —U‘Uûô, ô +Ü—’œCÐ!@À$ÔLØ—‘  q 	×*Ó*ûð+úsU   ©A,F&ÂBFÄ!E>Ä7FÅ'FÅ.F&Å>FÆ	FÆF#ÆF&Æ#F&Æ&G,Æ1/G'Ç'G,c                ó\   € R VRVRV/pV.pV P                  V4      pV P                  V4      # )rC   rp   ro   )r•   rµ   )r^   r’   rp   ro   Ú	mod_to_berŽ   r�   s   &&&&   r#   Ú
run_singleÚModules.run_single9  sD   € ð �8Ø�DØ�Dð
ˆ	ð �;ˆØ×)Ñ)¨(Ó3ˆØ× Ñ  Ó-Ð-r&   c                óX  € V P                  V4      pV P                  V4      pV P                  P                  P                  p. p. pV P
                  P                  R. 4      p. p. p	V F¦  p
V
w  r¼rÞVf   K  VP                  R,          p\        W P
                  4      '       g   VP                  V4       KO  V'       d=   V\        .8w  d1   WO9  d+   WÇ9  d   VP                  V4       K‚  VP                  V4       V	P                  W¼WÞ.4       K¨  	  V'       d&   \        P                  RRP                  V4      4       V'       d'   \        P                  RRP                  V4      V4       V'       d&   \        P                  RRP                  V4      4       V P                  V	4      # )zÃRuns all modules in the given section.

section_name - One of the modules lists as defined in
  /etc/cloud/cloud.cfg. One of:
 - cloud_init_modules
 - cloud_config_modules
 - cloud_final_modules
Úunverified_modulesr>   z?Skipping modules '%s' because no applicable config is provided.Ú,zSkipping modules '%s' because they are not verified on distro '%s'.  To run anyway, add them to 'unverified_modules' in config.z running unverified_modules: '%s'z, )r{   r•   rV   Údistror   rG   rN   r=   rR   rr   r   rŠ   r‹   Újoinrµ   )r^   Úsection_namerŽ   r�   Údistro_nameÚskippedÚforcedÚ
overriddenÚinapplicable_modsÚactive_modsrF   rC   r   Ú_freqÚ_argsÚworked_distross   &&              r#   Úrun_sectionÚModules.run_sectionE  sm  € ð ×%Ñ% lÓ3ˆØ×)Ñ)¨(Ó3ˆØ—i‘i×&Ñ&×+Ñ+ˆàˆØˆØ—X‘X—\‘\Ð"6¸Ó;ˆ
ØÐØˆÛ)ˆNØ(6Ñ%ˆS˜ØŠ{ÙØ ŸX™X iÕ0ˆNÜ˜n¯h©h×7Ò7Ø!×(Ñ(¨Ô.Ù÷  .´[°MÔ"AØÔ4ØÔ-ØŸ™ tÔ,Ù Ø—M‘M $Ô'Ø×Ñ ¨5Ð8Ö9ñ' *÷* Ü�H‰Hðà—‘Ð*Ó+ô÷
 Ü�H‰Hð2ð —‘˜Ó!Øô÷ Ü�H‰HÐ7¸¿¹À6Ó9JÔKà× Ñ  Ó-Ð-r&   )r\   r[   rV   r]   )NN)r(   r)   r*   r+   r_   ÚpropertyrG   r{   r•   rµ   r¹   rÊ   r-   r.   r/   s   @r#   rT   rT   h   sU   ø‡ € ÷!ò !ð ÷/ó ð/÷9ð 9÷vAð A÷F5%ð 5%ôn
.÷8.ð 8.r&   rT   )Úcc_emit_upstartzcc_refresh_rmc_and_interface.pyÚcc_migratorÚcc_rightscale_userdata)'ri   ÚloggingÚinspectr   Útypesr   Útypingr   r   r   r   Ú	cloudinitr	   r
   r   r   r   r   Úcloudinit.distrosr   Úcloudinit.helpersr   Úcloudinit.reporting.eventsr   Úcloudinit.settingsr   Úcloudinit.stagesr   Ú	getLoggerr(   rŠ   r9   r‰   r‡   r   r;   rD   rR   rT   r'   r&   r#   Ú<module>rÛ      s‡   ðó Û Ý Ý ß 3Ó 3÷÷ õ *Ý *Ý 7Ý *Ý !à×Ò˜Ó!€ð €
ò
€ð ˜?ð€ô
�Jô ò	ò
õ,÷U.ó U.r&   