define virtual::kvm::manager::instance( $vg, $size, $ram, $udev = false, ) { exec { "kvm-creator-${name}": command => "/usr/local/sbin/kvm-creator create $name $vg $size $ram", user => "root", #creates => "/home/${name}/vms/${name}", creates => "/etc/sv/kvm/${name}", } user { $name: ensure => present, home => "/home/${name}", groups => [ 'kvm' ], require => Exec["kvm-creator-${name}"], } exec { "update-service-kvm-${name}": command => "/usr/sbin/update-service --add /etc/sv/kvm/${name}", creates => "/etc/service/${name}", require => [ Exec["kvm-creator-${name}"], User["${name}"] ], } if $udev == true { file { "/etc/udev/rules.d/92-kvm_creator-${name}.rules": ensure => present, owner => root, group => root, mode => '0644', content => template('virtual/kvm_creator.rules.erb'), } } }