Puppet 检查类是否存在
如果给定类存在,是否有方法签入清单文件 我想这样做:Puppet 检查类是否存在,puppet,Puppet,如果给定类存在,是否有方法签入清单文件 我想这样做: class foo { if exists( Class["foo::${lsbdistcodename}"] ) { include foo::${lsbdistcodename} } } 因此,我可以很容易地添加发行版/版本特定的类,然后这些类会自动包含进去。您应该使用defined而不是exists语句。 以下代码片段对我很有用: class foo { if defined( "foo::${
class foo {
if exists( Class["foo::${lsbdistcodename}"] ) {
include foo::${lsbdistcodename}
}
}
因此,我可以很容易地添加发行版/版本特定的类,然后这些类会自动包含进去。您应该使用defined而不是exists语句。 以下代码片段对我很有用:
class foo {
if defined( "foo::${lsbdistcodename}") {
notify {'defined':}
include "foo::${lsbdistcodename}"
}
}
class foo::precise {
notify{'precise':}
}
[假设您运行的是puppet version>2.6.0]很好,谢谢,但这不起作用,因为类尚未定义。这就是我问题的全部要点。我想检查这个类是否存在,并且我可以包含它。你发布的代码实际上什么也做不了。如果该类未包含,则条件为false,如果该类已包含,则包含将不再包含它…对我不起作用。我正在运行puppet 2.7.18:
如果定义(Class['common']){notice('yes')}
将不输出任何内容,而包括common
如果定义(Class['common']){notice('yes')}
输出'yes'好的,定义的(“Class”)
检查类是否存在,以及定义的(Class[“Class”])
检查是否已加载。谢谢你的帮助!