import argparse import logging import os import sys from jinja2 import Environment from jinja2 import FileSystemLoader logging.basicConfig(stream=sys.stdout, level=logging.DEBUG) log = logging.getLogger('vsphere_template_config') if __name__ == '__main__': parser = argparse.ArgumentParser() parser.add_argument('-c', '--config-template') parser.add_argument('-o', '--config-file') args = parser.parse_args() env_variables = os.environ.items() jinja_env = Environment( loader=FileSystemLoader('/'), lstrip_blocks=True, trim_blocks=True ) config_template = jinja_env.get_template(args.config_template) config_file = config_template.render(env_variables) log.info('%s was successfully created' % args.config_file) with open(args.config_file, 'w') as f: f.write(config_file)