class vmware::guest { case $virtual { vmware: { case $kernel { Linux: { include vmware::guest::linux } } } } } class vmware::guest::linux { package { "VMwareTools": ensure => installed, } exec { "vmware-config-tools.pl": command => "unset DISPLAY REMOTEHOST SSH_CONNECTION ; perl /usr/bin/vmware-config-tools.pl -d", path => "/bin:/usr/bin:/sbin:/usr/sbin", environment => [ "PAGER=/bin/cat", ], unless => "test -f /lib/modules/$kernelrelease/misc/vmci.ko", require => Package["VMwareTools"], } service { "vmware-tools": enable => true, ensure => running, subscribe => Exec["vmware-config-tools.pl"], require => Exec["vmware-config-tools.pl"], } }