如何使用 Puppet 要求另一个自定义 Class

How to Require Another Custom Class Using Puppet

如果我自己的人偶模块中有两个 class,并且 class 'b' 依赖于 class '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
}

如果要表达 class b 对 class a 的依赖(并确保 a 在目录中):

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

如果你只是 rehan::b 上的一个资源要依赖 class 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'] 表达这种关系(假设两者都包含在目录中)。