ó oBú]c@s_dZddlmZddlmZddlmZddlmZeZdZd„Z dS( s) Final Message ------------- **Summary:** output final message when cloud-init has finished This module configures the final message that cloud-init writes. The message is specified as a jinja template with the following variables set: - ``version``: cloud-init version - ``timestamp``: time at cloud-init finish - ``datasource``: cloud-init data source - ``uptime``: system uptime **Internal name:** ``cc_final_message`` **Module frequency:** per always **Supported distros:** all **Config keys**:: final_message: iÿÿÿÿ(t templater(tutil(tversion(t PER_ALWAYSsy## template: jinja Cloud-init v. {{version}} finished at {{timestamp}}. Datasource {{datasource}}. Up {{uptime}} secondscCs¹d}t|ƒdkr+t|dƒ}ntj|ddƒ}|jƒ}|s[t}ntjƒ}tjƒ}tj ƒ}yœi|d6|d6|d6t|j ƒd6} | j t g| j ƒD]\} } | jƒ| f^qÃtjdtj|| ƒd td td |ƒWn!tk r>tj|d ƒnX|jj} y'd |||f} tj| | ƒWn$tk r˜tj|d| ƒnX|j jrµ|jdƒndS(Ntit final_messagetuptimet timestampRt datasources%s tconsoletstderrtlogs'Failed to render final message templates%s - %s - v. %s s%Failed to write boot finished file %ssUsed fallback datasource(tlentstrRtget_cfg_option_strtstriptFINAL_MESSAGE_DEFRt time_rfc2822Rtversion_stringRtupdatetdicttitemstuppert multi_logRt render_stringtFalsetTruet Exceptiontlogexctpathst boot_finishedt write_filetis_disconnectedtwarning(t_nametcfgtcloudR targstmsg_inRttstcvertsubstktvt boot_fin_fntcontents((sE/usr/lib/python2.7/site-packages/cloudinit/config/cc_final_message.pythandle2s:     >    N( t__doc__t cloudinitRRRtcloudinit.settingsRt frequencyRR.(((sE/usr/lib/python2.7/site-packages/cloudinit/config/cc_final_message.pyt s