Anders Ingemann and several other members of the Debian cloud team have developed a flexible Python build tool which is being used to create Debian-based virtual machine images across several environments, including Google Cloud Platform, Amazon Web Services, Vagrant boxes, KVM, etc.
I'll give an intro to this tool and some of the ways you can make it generate Debian images which match your needs.