#!/usr/bin/env python3 import argparse import sys from cyber_sandbox_creator import creator parser = argparse.ArgumentParser() parser.add_argument("topology_file", help="path to the topology definition") parser.add_argument("-o", "--output-dir", help="output directory for the sandbox", action="store") parser.add_argument("-a", "--ansible-installed", help="use Ansible installed on the host machine", action="store_true") parser.add_argument("-b", "--border-router", help="create a border router", action="store_true") parser.add_argument("--rewrite-provisioning", help="generate clean user provisioning even if it exists", action="store_true") parser.add_argument("--provisioning-dir", help="path to directory with user provisioning files", action="store") parser.add_argument("--extra-vars", help="path to file with extra_vars for Ansible", action="store") parser.add_argument("--verbose-ansible", help="set verbose output for Ansible (-vv)", action="store_true") args = parser.parse_args() if args.output_dir: output_dir: str = args.output_dir else: output_dir: str = "" try: creator.create(args.topology_file, output_dir, args.ansible_installed, args.border_router, args.provisioning_dir, args.extra_vars, args.rewrite_provisioning, args.verbose_ansible) except (ValueError, IOError) as e: print(f"Could not create intermediate sandbox definition:\n{e}") sys.exit(1) print("Intermediate sandbox definition was successfully created")