render(source, target, context, owner='root', group='root', perms=292, templates_dir=None, encoding='UTF-8', template_loader=None, config_template=None)¶
Render a template.
The source path, if not absolute, is relative to the templates_dir.
The target path should be absolute. It can also be None, in which case no file will be written.
The context should be a dict containing the values to be replaced in the template.
config_template may be provided to render from a provided template instead of loading from a file.
The owner, group, and perms options will be passed to write_file.
If omitted, templates_dir defaults to the templates folder in the charm.
The rendered template will be written to the file as well as being returned as a string.
Note: Using this requires python-jinja2 or python3-jinja2; if it is not installed, calling this will attempt to use charmhelpers.fetch.apt_install to install it.