Skip to content
Snippets Groups Projects
create.py 933 B
Newer Older
Attila Farkas's avatar
Attila Farkas committed
#!/usr/bin/python3
"""Generates Vagrantfile from YAML definition.
Attila Farkas's avatar
Attila Farkas committed

Generate a Vagrantfile and ansible files from a YAML definition of virtual
machines and network topology. See the documentation for details.
"""
Attila Farkas's avatar
Attila Farkas committed

from modules.ansible_generator import generate_playbooks
from modules.vagrant_generator import generate_vagrantfile
from modules.file_manager import open_yaml, prepare_directories
from modules.input_argument_parser import parse_input_args
from modules.input_file_validator import validate_device_definitions
from modules.preprocessing import preprocess
Attila Farkas's avatar
Attila Farkas committed

INPUT_FILE_NAME, FLAGS = parse_input_args()
device_definitions = open_yaml(INPUT_FILE_NAME)
validate_device_definitions(device_definitions)
preprocess(device_definitions, FLAGS)
prepare_directories(device_definitions, FLAGS)
generate_vagrantfile(device_definitions, FLAGS)
generate_playbooks(device_definitions, FLAGS)

print("Sandbox was successfully created.")