diff options
Diffstat (limited to 'tools/render-cloudcfg')
-rwxr-xr-x | tools/render-cloudcfg | 78 |
1 files changed, 48 insertions, 30 deletions
diff --git a/tools/render-cloudcfg b/tools/render-cloudcfg index ed454840..176df36b 100755 --- a/tools/render-cloudcfg +++ b/tools/render-cloudcfg @@ -1,47 +1,65 @@ #!/usr/bin/env python3 -import argparse import os import sys +import argparse -VARIANTS = ["alpine", "amazon", "arch", "centos", "debian", "fedora", - "freebsd", "netbsd", "openbsd", "rhel", "suse", "ubuntu", - "unknown"] - - -if "avoid-pep8-E402-import-not-top-of-file": +def main(): _tdir = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) sys.path.insert(0, _tdir) - from cloudinit import templater - from cloudinit import util - from cloudinit.atomic_helper import write_file - + from cloudinit import templater, util # pylint: disable=E0401 -def main(): + VARIANTS = [ + "almalinux", + "alpine", + "amazon", + "arch", + "centos", + "cloudlinux", + "debian", + "eurolinux", + "fedora", + "freebsd", + "gentoo", + "miraclelinux", + "netbsd", + "openbsd", + "openEuler", + "photon", + "rhel", + "suse", + "rocky", + "ubuntu", + "unknown", + "virtuozzo", + ] parser = argparse.ArgumentParser() platform = util.system_info() parser.add_argument( - "--variant", default=platform['variant'], action="store", - help="define the variant.", choices=VARIANTS) + "--variant", + default=platform["variant"], + action="store", + help="define the variant.", + choices=VARIANTS, + ) parser.add_argument( - "template", nargs="?", action="store", - default='./config/cloud.cfg.tmpl', - help="Path to the cloud.cfg template") + "template", + nargs="?", + action="store", + default="./config/cloud.cfg.tmpl", + help="Path to the cloud.cfg template", + ) parser.add_argument( - "output", nargs="?", action="store", default="-", - help="Output file. Use '-' to write to stdout") + "output", + nargs="?", + action="store", + default="-", + help="Output file. Use '-' to write to stdout", + ) - args = parser.parse_args() + args = parser.parse_args(sys.argv[1:]) + templater.render_cloudcfg(args.variant, args.template, args.output) - with open(args.template, 'r') as fh: - contents = fh.read() - tpl_params = {'variant': args.variant} - contents = (templater.render_string(contents, tpl_params)).rstrip() + "\n" - util.load_yaml(contents) - if args.output == "-": - sys.stdout.write(contents) - else: - write_file(args.output, contents, omode="w") -if __name__ == '__main__': +if __name__ == "__main__": main() |