THX*_*THX 5 namespaces std include puppet
作为一个木偶新手,我有一个问题,包括stdlib插件
我想使用stdlib的file_line,因此我尝试包含stdlib并调用它
class service_mon
{
include stdlib
file_line
{
"${name}_services": path=> ...
}
}
Run Code Online (Sandbox Code Playgroud)
但是,我收到一条错误消息,表示无法找到stdlib
错误:无法从远程服务器检索目录:SERVER上的错误400:在/etc/puppet/workspace/dev/src/modules/mymanifest/manifests/deploy.pp:87上找不到my.node.name的类stdlib node 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
Run Code Online (Sandbox Code Playgroud)
所以,我猜原则上所有必要的文件都是'那里',但我怎么能说服Puppet包含stdlib呢?
Puppet 模块不像 java 模块那样工作——include stdlib只有当class stdlib模块中确实有一个做了有用的事情时才有意义,但事实并非如此。
注意:许多 Puppet 模块确实有这样一个类作为中心入口点,但这stdlib是一个值得注意的例外。
您只需调用 stdlib 中的解析器函数即可使用它们。至于类型,如果满足以下条件,这些类型就可供 Puppet 使用:
$modulepath并且pluginsync在代理上启用您可以file_line毫不费力地使用。