./apache/manifests/init.pp class apache( String $package_name, ) { class { 'apache::install': } -> class { 'apache::config': } ~> class { 'apache::service': } contain apache::install contain apache::config contain apache::service } ./apache/manifests/install.pp class apache::install { $package_name = $apache::package_name if $facts['osfamily'] == 'redhat' { package { 'mod_ssl': ensure => installed, } } package { $package_name: ensure => installed, } }