检查是否存在类

Mic*_*upp 14 puppet

如果给定的类存在,是否有办法检入清单文件?

我想做这样的事情:

class foo {
    if exists( Class["foo::${lsbdistcodename}"] ) {
        include foo::${lsbdistcodename}
    }
}
Run Code Online (Sandbox Code Playgroud)

所以我可以轻松添加distrubution/version特定类,然后自动包含这些类.

Lio*_*orH 13

您应该使用defined而不是exists语句.以下代码段对我有用:

class foo {
    if defined( "foo::${lsbdistcodename}") {
            notify {'defined':}             
            include "foo::${lsbdistcodename}"
    }
}

class foo::precise {
    notify{'precise':}
}
Run Code Online (Sandbox Code Playgroud)

[假设你正在运行木偶版> 2.6.0]

  • 好吧,似乎`defined("class")`检查一个类是否存在,`define(Class ["class"])`检查它是否被加载.谢谢你的帮助! (10认同)