This file doesn't depend on the settings, all the information needed can come from different sources, such as system configuration for standalone installation or specific configuration settings framework such as the django one. a "hack" is provided as a ugly workaround in [tasks.py](tasks.py). The settings are then provided to the constructor. One solution would be to rename vagrant_template into template, which would serve the same purpose here.
The instance type would be too specific to this specific class to be factorized out.