class packages::virt {
@package{"httpd": }
}

class webnode inherits packages::virt {
Package["httpd"] { ensure => "1.2.3" }

realize(Package["httpd"])
}

class tomcatnode inherits packages::virt {
Package["httpd"] {
before => Package["tomcat"],
ensure => "1.2.4"
}

realize(Package["httpd"])
realize(Package["tomcat"])
}


node web1 {
include packages::virt
include webnode
}

node tc1 {
include packages::virt
include tomcatnode
}