如何在Puppet中将参数传递给另一个类?
我正在使用Puppet 4,我想知道如何将参数传递给另一个类: 我有一个自定义资源:如何在Puppet中将参数传递给另一个类?,puppet,Puppet,我正在使用Puppet 4,我想知道如何将参数传递给另一个类: 我有一个自定义资源: class system::classA { define myresource ($param1, $param2) { include system::classB } } class system::classB { file "${param1}"{ ensure => present } } 我从另一个模块调用我的资源,比如 system::classA::m
class system::classA {
define myresource ($param1, $param2) {
include system::classB
}
}
class system::classB {
file "${param1}"{
ensure => present
}
}
我从另一个模块调用我的资源,比如
system::classA::myresource {
param1 => "test",
param2 => "test",
}
但是参数总是空的。如何在classB中传递或访问参数?您需要将参数添加到classB中,以便数据可以通过:
class system::classB($param1, $param2) {
file { "${param1}":
ensure => present,
}
}
然后,使用此样式并设置新参数,而不是在system::classA::myresource中使用include函数:
define myresource ($param1, $param2) {
class { "system::classB":
param1 => $param1,
param2 => $param2,
}
}
请注意,在类中定义一个类是不常见的,我建议将myresource放在类a之外。还请注意,在这种情况下,他应该直接声明类B,如果他想像现在这样执行include路径,您可能需要提到自动数据绑定。我同意您的观点,但是这个问题太缺乏背景/太模糊了,很难说它应该如何实施。我只是认为这两种可能性都应该提出。您更喜欢类声明,如果John回答了这个问题,他会选择自动数据绑定路线。这完全是一个意见问题。