Você tem duas escolhas que parecem quase iguais.
1: faça da sua própria turma.
class ssh {
package { 'openssh-server':
ensure => present,
require => Class['ssl'],
}
}
class ssl {
package { 'libssl': ensure => present, }
}
2: recurso virtual
class vpackages {
@package { 'libssl': }
}
class ssh {
include vpackages
package { 'openssh-server':
ensure => present,
require => Package['libssl'],
}
realize Package['libssl']
}
Acho melhor quebrar as dependências em seus próprios módulos, em vez de usar recursos virtuais.