如何使用Puppet需要另一个自定义类

时间:2016-02-25 17:48:43

标签: 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 个答案:

答案 0 :(得分:7)

如果要在类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']在任何地方表达此关系(假设两者都包含在目录中)。