总之,不(通过声明它)直接使用params.pp。这个类是PARAMS设计模式的一部分,该规定对我们的参数的默认值可以被放置在其中,然后可以通过这需要我们在params.pp中定义的接入参数,所有的类继承params.pp木偶类
我认为最好的开始是每个Puppet模块都有的init.pp类。它可以在您从Puppet Forge下载的Puppet模块的manifest目录中找到。
/Users/bjusufbe/.puppetlabs/etc/code/modules/lighttpd/manifests
Bakirs-MacBook-Pro:manifests bjusufbe$ ls -la
total 56
drwxr-xr-x 6 bjusufbe staff 204 Oct 23 19:27 .
drwxr-xr-x 10 bjusufbe staff 340 Oct 23 19:27 ..
-rw-r--r-- 1 bjusufbe staff 1705 Oct 23 19:26 dotconf.pp
-rw-r--r-- 1 bjusufbe staff 15763 Oct 23 19:27 init.pp
-rw-r--r-- 1 bjusufbe staff 2633 Jul 17 2013 params.pp
-rw-r--r-- 1 bjusufbe staff 560 Apr 10 2013 spec.pp
如果你打开init.pp,你会看到下面的类定义:
class lighttpd (
$use_ssl = params_lookup('use_ssl'),
$my_class = params_lookup('my_class'),
$source = params_lookup('source'),
$source_dir = params_lookup('source_dir'),
...
所有参数均采用params_lookup自定义函数(不是木偶提供但从example42命名空间中的其他模块的一部分)。您可以在以下链接查看详细信息如何使用此功能:How to use params_lookup章节:PARAMS查找订单
但是,为了使您更容易,您可以在site.pp中使用以下语法声明此类(如果使用木偶主/代理场景)或任何*。在无主场景页文件,它可以简单地通过调用应用:
puppet apply <name_of_pp_file>.pp
简单的声明是这样的:
class { 'lighttpd':
<anyparameterfromthisclassdefinition> => <value>
}
例子:
class { 'lighttpd':
use_ssl => true,
}
如果你不希望传递类声明中的任何参数,那么将使用通过自定义函数params_lookup针对此类中的每个参数计算的默认值。在这种情况下,你可以简单地做到这一点:
include lighttpd
希望这给你足够的开始。干杯!
所以,@Benedikt,“我怎样才能导入[]这个问题的实际答案?”你能*像任何其他类一样使用params类。然而,它不适合你的(直接)使用,而且它对你来说没有什么用处。我倾向于怀疑你真正想知道的是如何操作'lighttpd'类的参数,但如果是这样的话,那么在这一点上,作为一个单独的问题会更好。 –