define nspawn::machine ( String $os, String $os_version, String $machine = $name, Boolean $enable = false, ) { require ::nspawn::setup file { "/etc/systemd/nspawn/${machine}.nspawn": content => @("EOF") [Exec] Hostname=${machine}.adrift.space Boot=true # /usr/lib/systemd/resolv.conf ResolvConf=copy-static [Network] Bridge=br0 | EOF } case $os { 'debian': { nspawn::os::debian { $machine: os_version => $os_version, } } 'arch': { nspawn::os::arch { $machine: } } # TODO default fail } service { "systemd-nspawn@${machine}.service": enable => true, } }