12
如果给定的类存在,有没有办法检查清单文件?检查一个类是否存在
我想要做这样的事情:
class foo {
if exists(Class["foo::${lsbdistcodename}"]) {
include foo::${lsbdistcodename}
}
}
所以我可以轻松地添加然后被自动包含分布状态/版本的特定类。
如果给定的类存在,有没有办法检查清单文件?检查一个类是否存在
我想要做这样的事情:
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':}
}
[假设你正在运行的木偶版> 2.6.0]
以及感谢,但将无法正常工作“导致类尚未确定。这是我的问题的重点。我想检查课程是否存在,我可以包括它。您发布的代码根本无法做任何事情。如果这个类没有包含,那么这个条件是错误的,如果包含它,包含将不会再包含它... – 2013-02-28 03:02:11
不是这样,请参阅此问题 - http://projects.puppetlabs.com/issues/3490 – LiorH 2013-03-01 19:11:58
不适合我。我跑木偶2.7.18: '如果定义(类[ '共同']){通知( '是')}' 将输出什么,而 '包括common' '如果定义( Class''common']){notice('yes')}' outputs'yes' – 2013-03-02 10:22:13