define virtual::kvm::instance( $udev = false, $shell = undef, ) { user { $name: ensure => present, home => "/home/${name}", groups => [ 'kvm' ], shell => $shell, } file { [ "/home/${name}", "/home/${name}/vms", "/home/${name}/vms/${name}" ]: ensure => directory, owner => $name, group => $name, mode => '0755', require => User[$name], } if $udev == true { file { "/etc/udev/rules.d/92-kvm-${name}.rules": ensure => present, owner => root, group => root, mode => '0644', content => template('virtual/kvm.rules.erb'), require => User[$name], } } }