Как требовать другой пользовательский класс с помощью Puppet


Если у меня есть два класса в моем собственном кукольном модуле и класс " b "имеет зависимость от класса "a". Как я могу выразить это в моем require утверждении:

# a.pp
class rehan::a {
    package { 'javaruntime':
        ensure   => latest,
        provider => chocolatey
    }
}

# b.pp
class rehan::b {
    file { 'C:foo':
        ensure  => present,
        require => Package['?????']
    }
}

# site.pp
node default {
    include rehan::a
    include rehan::b
}
1 2

1 ответ:

Если вы хотите выразить зависимость класса b от класса a (а также убедиться, что a находится в каталоге):

class rehan::b {
    require rehan::a
}

Если вы только один ресурс на rehan:: b, чтобы зависеть от класса A:

class rehan::b {
    include rehan::a  # ensure the class is in the catalog
    file { 'C:\foo':
        ensure  => present,
        require => Class['rehan::a'],
    }
}

Вы также можете выразить эту связь в любом месте с помощью Class['rehan::a'] -> Class['rehan::b'] (предполагая, что оба они включены в каталог).