Viewing File: /usr/lib/python2.7/site-packages/cloudinit/cmd/devel/render.pyo

ó
oBú]c@sÌdZddlZddlZddlZddlmZddlmZddlm	Z	m
Z
ddlmZm
Z
dZejeƒZdd	„Zd
„Zd„ZedkrÈejeƒƒndS(
s,Debug jinja template rendering of user-data.iÿÿÿÿN(trender_jinja_payload_from_file(tlog(tINSTANCE_JSON_FILEtINSTANCE_JSON_SENSITIVE_FILEi(taddLogHandlerCLItread_cfg_pathstrenderc	Cs||s!tjdtdtƒ}n|jddtddƒ|jdddtdd	ƒ|jd
ddd
dtddƒ|S(sBuild or extend and arg parser for jinja render utility.

    @param parser: Optional existing ArgumentParser instance representing the
        subcommand which will be extended to support the args of this utility.

    @returns: ArgumentParser with proper argument configuration.
    tprogtdescriptiont	user_datattypethelps$Path to the user-data file to renders-is--instance-datasXOptional path to instance-data.json file. Defaults to /run/cloud-init/instance-data.jsons-ds--debugtactiont
store_truetdefaults+Add verbose messages during template render(targparsetArgumentParsertNAMEt__doc__tadd_argumenttstrtFalse(tparser((s>/usr/lib/python2.7/site-packages/cloudinit/cmd/devel/render.pyt
get_parsersc

CsÊtt|jrtjntjƒ|jr7|j}nˆtƒ}tj	ƒ}tj
j|jt
ƒ}|dkr¹tj
j|jtƒ}tj
j|ƒs¿tjd||ƒ|}q¿n|}tj
j|ƒsåtjd|ƒdSy(t|jƒ}|jƒ}WdQXWn%tk
r4tjd|jƒdSXy7td|d|jd	|d
|jrbtntƒ}Wn*tk
r˜}	tjdt|	ƒƒdSX|s¶tjd|jƒdStjj|ƒdS(
sýRender the provided user-data template file using instance-data values.

    Also setup CLI log handlers to report to stderr since this is a development
    utility which should be run by a human on the CLI.

    @return 0 on success, 1 on failure.
    is4Missing root-readable %s. Using redacted %s instead.s#Missing instance-data.json file: %siNsMissing user-data file: %stpayloadt
payload_fntinstance_data_filetdebugs$Cannot render from instance data: %ss#Unable to render user-data file: %s(RtLOGRRtDEBUGtWARNINGt
instance_dataRtostgetuidtpathtjointrun_dirRRtexiststwarningterrortopenR	treadtIOErrorRtTrueRtRuntimeErrorRtsyststdouttwrite(
tnametargstinstance_data_fntpathstuidtredacted_data_fntstreamR	trendered_payloadte((s>/usr/lib/python2.7/site-packages/cloudinit/cmd/devel/render.pythandle_args(sJ"			

cCstƒjƒ}tt|ƒS(N(Rt
parse_argsR9R(R1((s>/usr/lib/python2.7/site-packages/cloudinit/cmd/devel/render.pytmainYst__main__(RRR R-t!cloudinit.handlers.jinja_templateRt	cloudinitRtcloudinit.sourcesRRtRRRt	getLoggerRtNoneRR9R;t__name__texit(((s>/usr/lib/python2.7/site-packages/cloudinit/cmd/devel/render.pyt<module>s	1	
Back to Directory File Manager