作为木偶新手,我有一个问题,包括stdlib插件
我想使用stdlib的file_line,因此我尝试包含stdlib并将其命名为
class service_mon
{
include stdlib
file_line
{
"${name}_services": path=> ...
}
}
但是,我收到一条错误消息,表示无法找到stdlib
错误:无法从远程服务器检索目录:错误400开启 SERVER:找不到my.node.name的类stdlib /etc/puppet/workspace/dev/src/modules/mymanifest/manifests/deploy.pp:87 在节点my.node.name
上
这让我很奇怪,因为应该安装stdlib(?)...或?
puppet module install puppetlabs-stdli
puppet module list
/etc/puppet/modules
└── puppetlabs-stdlib (v4.2.2)
/usr/share/puppet/modules (no modules installed)
puppet config print modulepath
/etc/puppet/modules:/usr/share/puppet/modules
所以,我猜原则上所有必要的文件都是'那里'但我怎么能说服Puppet包含stdlib?
答案 0 :(得分:3)
Puppet模块不像java模块那样工作 - include stdlib
只有在模块中确实有一个class stdlib
做了一些有用的事情才有意义。事实并非如此。
注意:许多Puppet模块执行都有这样一个类作为中心入口点,但stdlib
是一个值得注意的例外。
您可以通过调用它们来使用stdlib中的解析器函数。至于类型,那些只有Puppet可用的
$modulepath
和pluginsync
您可以毫不费力地使用file_line
。